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

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

Восстановить пароль Регистрация
 
 
PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:09     Проверить 4 задачи #1
Пишу не себе, а девушке. Сам немного знаком с Делфи и 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:14     Проверить 4 задачи #2
1. Заданы числа a , b . Проверить, одного ли знака эти числа
Если результат их перемножения >0 то одного. Исключение конечно если одно из них 0=) Хотя, можно и так оставить конечно

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

Не по теме:

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

PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:25  [ТС]     Проверить 4 задачи #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 .
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:26     Проверить 4 задачи #5
Понятия не имею как под винду=) А тот кусок вот так:
C++
1
2
if (x[i][j]<5)
 x[i][j]=111;
Можешь проверить на http://liveworkspace.org/ или http://codepad.org/ если там без консольного ввода
PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:29  [ТС]     Проверить 4 задачи #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 Посмотреть сообщение
если там без консольного ввода
в этом вся и проблема )
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
11.09.2012, 22:33     Проверить 4 задачи #7
Собственно, а зачем тебе там conio ? Отпили его
PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 22:37  [ТС]     Проверить 4 задачи #8
Цитата Сообщение от PSIAlt Посмотреть сообщение
Собственно, а зачем тебе там conio
насколько я понял из рассказа, то они работают в VS2005 и после запуска выполнения кода должно выскакивать консольное окошко. А для консоли нужно конио

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

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

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

Добавлено через 1 минуту
Цитата Сообщение от PAZITIV Посмотреть сообщение
Делфи и MQL
если вам нужно объяснить код с++, я вам объясняю его проблемы.
PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
11.09.2012, 23:24  [ТС]     Проверить 4 задачи #16
Цитата Сообщение от Dani Посмотреть сообщение
он в студии 2010 компилится
как вы проект создаёте , что бы я сам проверил? какой пункт выбираете?
http://storage4.static.itmages.ru/i/...e9be591bf5.png
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
11.09.2012, 23:25     Проверить 4 задачи #17
PAZITIV, win 32 console application, если будет стоять галочка возле "Precompiled header" (и если вы это найдете), то уберите флажок.
PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
12.09.2012, 00:00  [ТС]     Проверить 4 задачи #18
Dani, спасибо за помощь. Кроме ; после каунт и библиотек в коде есть ещё ошибки?
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
12.09.2012, 00:02     Проверить 4 задачи #19
PAZITIV, вы переменную avg не обнуляете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2012, 00:05     Проверить 4 задачи
Еще ссылки по теме:

C++ Проверить код
Проверить решение задачи C++
Проверить решение задачи C++

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

Или воспользуйтесь поиском по форуму:
PAZITIV
Реальность Нереальна!
 Аватар для PAZITIV
350 / 123 / 3
Регистрация: 02.08.2009
Сообщений: 3,213
Записей в блоге: 1
12.09.2012, 00:05  [ТС]     Проверить 4 задачи #20
Цитата Сообщение от Dani Посмотреть сообщение
PAZITIV, вы переменную avg не обнуляете.
а можно в одном посте про все бока написать?
Yandex
Объявления
12.09.2012, 00:05     Проверить 4 задачи
Ответ Создать тему
Опции темы

Текущее время: 05:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru