Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
#1

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

11.09.2012, 22:09. Просмотров 1010. Ответов 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++):

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

Проверить решение задачи
Здравствуйте. Есть задача: Напишите класс safearay, который использует массив...

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

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

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

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

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

conio.h (от англ. console input-output — консольный ввод-вывод) — заголовочный файл, используемый в старых компиляторах, работающих в операционных системах MS-DOS, для создания текстового интерфейса пользователя. Тем не менее, он не является частью языка программирования Си, стандартной библиотеки языка Си, ISO C или требуемой стандартом POSIX.
или может я чё не понимаю....
0
PSIAlt
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:42 #9
Это сишный хедер, а не плюсовый
1
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
11.09.2012, 22:47  [ТС] #10
Цитата Сообщение от PSIAlt Посмотреть сообщение
Это сишный хедер, а не плюсовый
так получается, что он везде не нужен? во всех программах его нужно убрать?
0
PSIAlt
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:53 #11
Блин ну попробуй узнаем=) С виду можно во всех.
0
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
11.09.2012, 22:58  [ТС] #12
Цитата Сообщение от PSIAlt Посмотреть сообщение
Блин ну попробуй узнаем=) С виду можно во всех.
и с конио, и без не компилиться
ну радует, что остальной код норм должен быть
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 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 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
11.09.2012, 23:16  [ТС] #14
Цитата Сообщение от Dani Посмотреть сообщение
я не завидую той девушке, которой вы пишите эти задачи.
Цитата Сообщение от PAZITIV Посмотреть сообщение
Сам немного знаком с Делфи и MQL
я ж сразу написал...
Цитата Сообщение от Dani Посмотреть сообщение
А если мы введем 0 0, то прога выведет неправильный ответ.
это не ко мне уже

Дани, тот код, что вы написали правильный? Если вы считаете, что остальной тоже уг, то покажите как правильно.
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 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
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
11.09.2012, 23:24  [ТС] #16
Цитата Сообщение от Dani Посмотреть сообщение
он в студии 2010 компилится
как вы проект создаёте , что бы я сам проверил? какой пункт выбираете?
http://storage4.static.itmages.ru/i/...e9be591bf5.png
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
11.09.2012, 23:25 #17
PAZITIV, win 32 console application, если будет стоять галочка возле "Precompiled header" (и если вы это найдете), то уберите флажок.
1
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
12.09.2012, 00:00  [ТС] #18
Dani, спасибо за помощь. Кроме ; после каунт и библиотек в коде есть ещё ошибки?
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
12.09.2012, 00:02 #19
PAZITIV, вы переменную avg не обнуляете.
0
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
12.09.2012, 00:05  [ТС] #20
Цитата Сообщение от Dani Посмотреть сообщение
PAZITIV, вы переменную avg не обнуляете.
а можно в одном посте про все бока написать?
0
12.09.2012, 00:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2012, 00:05
Привет! Вот еще темы с решениями:

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

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

Как проверить, запущено ли в Планировщике заданий выполнение задачи?
Привет всем! Задача такая: - Периодически запускается задача (Task...

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


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

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

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