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

Подправить код - C++

Восстановить пароль Регистрация
 
Coolooc
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 47
31.05.2013, 00:05     Подправить код #1
Помогите пожалуйста, нужно подправить код:
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
57
58
59
60
61
62
/* Дана целочисленная квадратная матрица. Опередить:
1) произведение элементов в тех строках,
которые не содержат отрицательных элементов.
2) максимум среди сумм элементов диагоналей,
параллельных главной диагонали матрицы. */
#include <iostream.h>
int main()
{
int N; // размер массива
int A[5][5]; // целочисленный массив
int Pro; // произведение элементов
int Sum; // сумма элементов диагоналей
int Max; // максимум среди сумм
bool bol; // флаг наличия отрицательного числа
// ввод данных
cout << "Vvedite N="; // вывод строки
cin >> N; // считываем значение стороны
// Решение
cout << "vvedite " << N << " strok po " << N << " elementotv" <<endl;
for (int i=1;i<=N;i++)
{
cout << i << ") ";
for (int j=1;j<=N;j++)
{cin>> A[i][j];} // формирование массива
}
cout << "Otvet" << endl; // вывод результата
// 1) задание
for (int i=1;i<=N;i++)
{
Pro=1;
bol = true ;
for (int j=1;j<=N;j++)
{
if(A[i][j]<0)bol = false;
Pro*=A[i][j];
}
if (bol)
{cout << "proizvedenie elementov " << i << " stroki = " << Pro << endl;}
}
// 2) задание
Max=A[1][1];
for (int i=1;i<=N;i++)
{
// проверка диагоналей со строки
Sum=0;
for (int jj=1;jj<=(N-i+1);jj++)
{
{Sum+=A[jj][jj+i-1];}
}
if (Sum>Max){Max=Sum;}
// проверка диагоналей со столбца
Sum=0;
for (int jj=1;jj<=(N-i+1);jj++)
{
{Sum+=A[jj+i-1][jj];}
}
if (Sum>Max){Max=Sum;}
}
cout << "maksimum sredi summ elementov diagonalei, parallelnyh glavnoi diagonali matritcy = " << Max << endl;
system("PAUSE");
return 0;
}
проверял с матрицей 3х3, получался иногда бред...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2013, 00:05     Подправить код
Посмотрите здесь:

c++ строки. подправить код C++
getch () C++ подправить код C++
Немного подправить код C++
C++ Помогите подправить код
C++ Немного подправить код с наследованием (С++)
Подправить код C++
C++ пожалуйста, подправить код
Нужно подправить код C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IronnMann
 Аватар для IronnMann
6 / 6 / 1
Регистрация: 21.05.2013
Сообщений: 36
31.05.2013, 00:31     Подправить код #2
советую вам оформить код ни как груду мусора,
а хотя-бы в процедуры/функции(процедурой я считаю функцию в которой нет возвращаемого параметра), и реализовать выбор между 2-мя заданиями.
(просто у вас реально каша там)
конечно лучше было бы использовать для этих целей класс - имхо так проще.

если незнаете (но я надеюсь все таки знаете)
процедура объявляется так :
void название функции(тип аргумента1, float аргумент2);
функция:
тип данных название (тип аргумента1, тип аргумента 2);
скелет класса такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class CMyClass{  //----объявление класса, методов
int poleA, poleB4 //--private
public:
CMyClass(); //------constructor
~CMyClass(); //----destructor
float sum(float a,float b); //--методы класса
void mul(float a,float b);
};
//------реализация
CMyClass::CMyClass(){}
~CMyClass::CMyClass(){}
float CMyClass::sum(float a,float b){return a+b;}
void CMyClass::mul(float a,floatb){a=a*b;} 
//--так же есть удобная для консоли штучка -оператор goto, позволяет сделать переход
METKA:{};
 
goto METKA;
попробуйте оформить так, и всё будет работать норм. 100%
Yandex
Объявления
31.05.2013, 00:31     Подправить код
Ответ Создать тему
Опции темы

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