Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2018, 19:16   #1
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию Проверка кода на ошибки в С++

Задача:
Даны натуральное число n, действительная квадратная матрица порядка n, действительные a1,a2...a n+5. Элементы последовательности a1,a2...a n+5 домножить на 10, если наибольший элемент матрицы (при условии, что такой элемент единственный) находится на главной диагонали и умножить на 0.5 в противном случае.

Вот что вышло:
Код:
#include <cstdio>
#include <iostream>
#include <ctime>
 
using namespace std;
 
void main()
{
const int n=0;
int m[n][n];
int a[n+5];
bool b;
int i, j;
float mas;
srand (time(NULL);
max=0;
cout<<m<<endl;
for(i=1;i<n;++i)
{
for (j=1;j<n;++j)
{
m[i, j]= rand()%256;
cout<<" M[i, j]"<<' '<<endl;
if  (m[i, j] >max)
{
max = m[i, j];
b=(i=j);}
}
cout<<" :\n";
cout<<"a= " << endl;
for(i=1;i<n+5;++i)
{
a[i]=rand ()%100;
cout<<"a[i] "<< "  :\n";
cout<<"  " <<endl;
cout <<"Result = " <<endl;
for (i=1;i<n+5;++i)
{
if (b>max)
a[i]=a[i]*10;
else
a[i]=a[i]*0.5;
cout<<a[i] <<" :\n";
}
cout <<" "<<endl;
return 0;
}
И куча ошибок не знаю как их исправлять.

Последний раз редактировалось Cyber321; 22.11.2018 в 19:23.
Cyber321 вне форума Ответить с цитированием
Старый 22.11.2018, 19:34   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Код не смотрел. Вот первое что в глаза бросилось
Код:
b=(i=j);}
Работает не так, как вы ожидали? Оператор сравнения записывается в виде двойного знака равно, одинарный - это присваивание. В итоге у вас значение j транзитно передаётся i и b. Но b имеет логический тип данных.
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2018, 19:54   #3
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Вот так тогда ?
Код:
b=(i==j);}
Cyber321 вне форума Ответить с цитированием
Старый 22.11.2018, 19:56   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Да там и без того куча - массивы с 0, неверное обращение к двумерному массиву, если в матрицы будут только отрицательные, то макс не найдется, условие в конце вообще пшик - бул сравнивается с максимальным элементом...
p51x вне форума Ответить с цитированием
Старый 22.11.2018, 20:00   #5
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Отредактируйте что вообще тут не надо ?
Cyber321 вне форума Ответить с цитированием
Старый 22.11.2018, 21:15   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Cyber321 Посмотреть сообщение
Отредактируйте что вообще тут не надо ?
Вы на кого учитесь?
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2018, 21:37   #7
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

На метролога
Cyber321 вне форума Ответить с цитированием
Старый 22.11.2018, 21:47   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

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

Какие у вас сложности с кодом?
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2018, 21:55   #9
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Во-первых хочу исправить эти ошибки и понять что они означают
prog.cpp:15:18: error: expected ‘)’ before ‘;’ token
srand (time(NULL);
^
prog.cpp:16:5: error: overloaded function with no contextual type information
max=0;
^
prog.cpp:22:17: error: incompatible types in assignment of ‘int’ to ‘int [0]’
m[i, j]= rand()%256;
^~~
prog.cpp:24:14: error: invalid operands of types ‘int [0]’ and ‘<unresolved overloaded function type>’ to binary ‘operator>’
if (m[i, j] >max)
~~~~~~~~^~~~
prog.cpp:26:13: error: overloaded function with no contextual type information
max = m[i, j];
^
prog.cpp:39:6: error: invalid operands of types ‘bool’ and ‘<unresolved overloaded function type>’ to binary ‘operator>’
if (b>max)
~^~~~
prog.cpp:47:1: error: expected ‘}’ at end of input
}
^
prog.cpp:47:1: error: expected ‘}’ at end of input
Cyber321 вне форума Ответить с цитированием
Старый 22.11.2018, 21:57   #10
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

А во-вторых почему говорят что пол-кода не есть подходящим для задачи?
Cyber321 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка кода на ошибки (описать класс Time на С++) igoreshka3333 Помощь студентам 157 30.10.2014 23:32
Проверка кода Ёжик в тумане Паскаль, Turbo Pascal, PascalABC.NET 5 14.01.2013 18:56
Проверка на ошибки и несоответствия strannick Microsoft Office Excel 5 14.09.2012 11:49
Макрос - проверка на ошибки MaxxVer Microsoft Office Excel 12 16.08.2012 14:30
Исправить ошибки кода. Misha305 Общие вопросы C/C++ 1 08.12.2011 14:04