Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
#1

Проверить 4 задачи - C++

11.09.2012, 22:09. Просмотров 957. Ответов 25
Метки нет (Все метки)

Пишу не себе, а девушке. Сам немного знаком с Делфи и MQL .
Решения вроде бы правильные. Проверьте пожалуйста. Просто у меня не на чем.

1. Заданы числа a , b . Проверить, одного ли знака эти числа
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>           
#include <conio.h>          
void main()                 
 {                      
   int a,b;             
   cout<<"a=";
   cin>>a;
   cout<<"b=";
   cin>>b;
   if ((a>0) && (b>0)) || ((a<0) && (b<0))cout<<”znak odnakov”;  
   else   cout<<"znak rizn";
getch();                    
}


2. Ввести с клавиатуры пять целых чисел в виде массива. Вычислить среднее значение массива и вывести этото массив через запятую
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{int mas[5];
  int i,k,
avg, // среднее значение массива
s;
  k=0; // вводимое число с клавиатуры
  i=0; // счётчик цикла
  s=0;  // количество элементов в массиве 
cout<<"введите 5 элемнтов массива через ентер:"
  for (i=0;i<5;i++)
{
  cin>>k;
  mas[i]=k;
  s++; // после ввода чисел S приобритает значение количества элементов в массиве
}
 for (i=0;i<5;i++)
 {
 avg+=mas[i];
 }
 avg/=s;
cout<<"\n среднее арифметичекское ="<<avg;
cout << "\nВаш массив: ";
        for (int i = 0; i < 5; ++i)
 {
            cout << mas[i] << ", ";
        }
getch();
}


3. Дана целочисленная матрица Х[1..5][1..4]. Заменить в ней все эл-ты, которые меньше 5 числом 111

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
const N=5;
const M=4;
int x[N][M];
int k;
void PrintX(const int[][n]);
void main()
 
{
k=0;
 
// цикл ввода массива с кавиатуры
  for(int i=1; i<N; i++)
   {
     for(int j=1; j<M; j++)
      {
        cin >> k
    x[N][M]=k;
    }
   }
// сравнение элементов массива с 5
for(int i=1; i<N; i++)
   {
     for(int j=1; j<M; j++)
      {
       if x[i][j]<5
       then x[i][j]=111;
}
}
 
//вывод изменённой матрицы на экран
cout << "\nИзменённая матрица: ";
for(int i=1; i<N; i++)
   {
     for(int j=1; j<M; j++)
      {
            cout << x[N][M] << " ";
        }
   PrintX(x);
   system("pause");
   return 0;
}
 
void PrintX(const int ar[][n])
{
   for (int i = 0; i < N; i++)
   {
      for (int j = 0; j <M; j++)
      {
         cout << setw(3) << ar[i][j];
      }
      cout << endl;
   }
}


4. Задан ряд символов. Заменить в нём символы "(" на "[" и ")" на "]"
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define STR_B 255
int main()
{
char str[STR_B];
printf("input text\t");
gets(str);
 
unsigned int i;
for(i=0;i<strlen(str);i++)
{
if(str[i]== '(' ) str[i]='[';
if (str[i]== ')' ) str[i]=']';
}
 
printf("%s",str);
printf("\n");
 
 
 
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2012, 22:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить 4 задачи (C++):

Проверить решение задачи - C++
Здравствуйте! Я С++ изучаю самостоятельно, по книге Р.Лафоре &quot;ООП в С++&quot;. В главе 7 &quot;Массивы и строки&quot; столкнулся с задачей Напишите...

Проверить решение задачи - C++
Здравствуйте. Есть задача: Напишите класс safearay, который использует массив типа int фиксированного размера (назовем его LIMIT) в...

Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? - C++
ЗАДАЧА: Вычислить значение суммы бесконечного ряда с заданной точностью (e=10-6):...

Функции. Проверить, простое число или нет. Увеличить его значение на натуральное число M. Проверить, осталось ли оно простым - C++
Помогите пожалуйста 1. Дано натуральное число N, проверить, простое оно или нет. Увеличить его значение на натуральное число M....

проверить правильность решения задачи - Теория вероятностей
Рабочий обслуживает четыре станка, работающих независимо друг от друга. Вероятность того, что в течение часа первый станок потребует...

Ребят,можете проверить задачи??( решал на С) - C (СИ)
помогите,вот я вроде решил задачи,но что - то не то показывает. 1) Распечатать введенную строку, заменив строчные буквы прописными и...

25
PSIAlt
87 / 87 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:14 #2
1. Заданы числа a , b . Проверить, одного ли знака эти числа
Если результат их перемножения >0 то одного. Исключение конечно если одно из них 0=) Хотя, можно и так оставить конечно

3. Строчки 28,29 не похожы на С++ =)
4. Возможно переполнение буфера и считать каждый раз strlen не оптимально. Но думаю на лабах всем пофигу.
В остальном вроде норм боле мене
1
Thinker
11.09.2012, 22:19
  #3

Не по теме:

а может вы сами в онлайн компиляторе проверите. надо же, посредники делают лабы. сейчас объявится посредник преподавателя и зачтет лабы вашей пассии

1
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:25  [ТС] #4
Цитата Сообщение от PSIAlt Посмотреть сообщение
Если результат их перемножения >0 то одного. Исключение конечно если одно из них 0=
эм. так там вроде не перемножение, а сравнение с 0 . А вдруг они оба отрицательные
Цитата Сообщение от PAZITIV Посмотреть сообщение
if x[i][j]<5
then x[i][j]=111;
нада так наверно
C++
1
2
if x[i][j]<5
 x[i][j]=111;
без "then" ?!
Цитата Сообщение от PSIAlt Посмотреть сообщение
Но думаю на лабах всем пофигу.
это типа контрольная. но специальность не очень связана с программированием. а как лучше сделать, что бы избавиться от постоянного просчёта strlen ?

И ещё, этот код можно запустить в VS 2005 что бы консолька выскакивала при исполнении программы?

Добавлено через 2 минуты
Цитата Сообщение от Thinker Посмотреть сообщение

Не по теме:

а может вы сами в онлайн компиляторе проверите. надо же, посредники делают лабы. сейчас объявится посредник преподавателя и зачтет лабы вашей пассии.

пробовал. онлайн компияторы не работают с клавиатурой и выдают ошибку на библиотеке conio .
0
PSIAlt
87 / 87 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:26 #5
Понятия не имею как под винду=) А тот кусок вот так:
C++
1
2
if (x[i][j]<5)
 x[i][j]=111;
Можешь проверить на http://liveworkspace.org/ или http://codepad.org/ если там без консольного ввода
1
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:29  [ТС] #6
Цитата Сообщение от PSIAlt Посмотреть сообщение
Понятия не имею как под винду=) А тот кусок вот так:
C++
1
2
if (x[i][j]<5)
 x[i][j]=111;
Можешь проверить на http://liveworkspace.org/ или http://codepad.org/ если там без консольного ввода
http://storage9.static.itmages.ru/i/...02a75bb272.png
с кодпада

Цитата Сообщение от PSIAlt Посмотреть сообщение
если там без консольного ввода
в этом вся и проблема )
0
PSIAlt
87 / 87 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:33 #7
Собственно, а зачем тебе там conio ? Отпили его
1
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:37  [ТС] #8
Цитата Сообщение от PSIAlt Посмотреть сообщение
Собственно, а зачем тебе там conio
насколько я понял из рассказа, то они работают в VS2005 и после запуска выполнения кода должно выскакивать консольное окошко. А для консоли нужно конио

conio.h (от англ. console input-output — консольный ввод-вывод) — заголовочный файл, используемый в старых компиляторах, работающих в операционных системах MS-DOS, для создания текстового интерфейса пользователя. Тем не менее, он не является частью языка программирования Си, стандартной библиотеки языка Си, ISO C или требуемой стандартом POSIX.
или может я чё не понимаю....
0
PSIAlt
87 / 87 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:42 #9
Это сишный хедер, а не плюсовый
1
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:47  [ТС] #10
Цитата Сообщение от PSIAlt Посмотреть сообщение
Это сишный хедер, а не плюсовый
так получается, что он везде не нужен? во всех программах его нужно убрать?
0
PSIAlt
87 / 87 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:53 #11
Блин ну попробуй узнаем=) С виду можно во всех.
0
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:58  [ТС] #12
Цитата Сообщение от PSIAlt Посмотреть сообщение
Блин ну попробуй узнаем=) С виду можно во всех.
и с конио, и без не компилиться
ну радует, что остальной код норм должен быть
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
11.09.2012, 23:09 #13
PAZITIV,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>  //в с++ iostream         
// #include <conio.h> это вообще отрубим
 
//using namespace std; можно это откомментить и тогда везде поубирать std::
 
int main() //функция main должна возвращать значение типа int
 {                      
   int a,b;             
   std::cout<<"a=";
   std::cin>>a;
   std::cout<<"b=";
   std::cin>>b;
   if (((a>0) && (b>0)) || ((a<0) && (b<0))) std::cout<<"znak odnakov";  //нет пары скобок, неправильные кавычки
   else   std::cout<<"znak rizn";
   system ("pause"); //ждем ввода клавиши                    
   return 0; //говорим системе, что все ок.
}

Не по теме:

я не завидую той девушке, которой вы пишите эти задачи.



Не по теме:

Цитата Сообщение от PAZITIV Посмотреть сообщение
что остальной код норм должен быть



А если мы введем 0 0, то прога выведет неправильный ответ.
0
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 23:16  [ТС] #14
Цитата Сообщение от Dani Посмотреть сообщение
я не завидую той девушке, которой вы пишите эти задачи.
Цитата Сообщение от PAZITIV Посмотреть сообщение
Сам немного знаком с Делфи и MQL
я ж сразу написал...
Цитата Сообщение от Dani Посмотреть сообщение
А если мы введем 0 0, то прога выведет неправильный ответ.
это не ко мне уже

Дани, тот код, что вы написали правильный? Если вы считаете, что остальной тоже уг, то покажите как правильно.
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
11.09.2012, 23:20 #15
Цитата Сообщение от PAZITIV Посмотреть сообщение
Дани, тот код, что вы написали правильный
он в студии 2010 компилится Я просмотрел коды, у вас main возвращает int через раз - половина int, половина void.

Добавлено через 1 минуту
Вторую мельком пробегусь: не точки с запятой после cout; cin>>k, mas[i] = k. Было бы лучше cin >> mas[i]. Ну и библиотека сишная взята.

Добавлено через 1 минуту
Цитата Сообщение от PAZITIV Посмотреть сообщение
Делфи и MQL
если вам нужно объяснить код с++, я вам объясняю его проблемы.
1
11.09.2012, 23:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2012, 23:20
Привет! Вот еще темы с ответами:

Электродинамика, 2 задачи. Только проверить рассуждения - Электричество и магнетизм
В первой задачи до взаимодействия был заряд q после стал q=q1+q2 (закон сохранения зарядов) потенциалы шаров после соединения...

Прошу проверить решение задачи на термодинамику и электродинамику - Электричество и магнетизм
Условие: Один любознательный школьник собрал калориметр с подвижным поршнем, заполненный гелием и снабженный системой электроподогрева:...

Проверить код на корректность и грамотность реализации поставленной задачи - C++ WinAPI
Здравствуйте. Я - начинающий, по большей части самоучка (пару курсов недоинформатики в быдловузе в расчет особо не беру). Сейчас начал...

Как проверить, запущено ли в Планировщике заданий выполнение задачи? - CMD/BAT
Привет всем! Задача такая: - Периодически запускается задача (Task Sheduler). Нужно чтобы, если происходила попытка запустить задачу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru