C/C++

помогите с задачей на 2-мерный массив

добрый день! помогите, пожалуйста,с задачкой... очень прошу


Дан 2-мерный массив целых чисел(М строк, N столбцов, М=5, N=4). Элементы вводят с клавиатуры. Вывести массив на экран в виде таблицы. Определить количество элементов, кратных 3 и не превышающих 100. Посчитать среднее арифметическое в К-ом столбце. Найти первый максимум и его координаты в каждой строке. Вывести на экран. Упорядочить массив максимумов по возрастанию.

заранее благодарна.

Код:
#include <iostream> #include <stdlib.h> #include <stdio.h> int main() { int arr[4][5] = {0, 0, 0, 0, 0, 0 ,0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; std::cout<<"Enter elements"<< std::endl; for(int i = 0; i < 4; i++){ std::cout<<"Enter elements of "<< i + 1 <<" raw " << std::endl; std::cin>>arr[i][0]; std::cin>>arr[i][1]; std::cin>>arr[i][2]; std::cin>>arr[i][3]; std::cin>>arr[i][4]; } // Вывод на экран в виде таблицы std::cout<<"Table: " << std::endl; for(int i = 0; i < 4; i++){ printf("%5d %5d %5d %5d %5d", arr[i][0], arr[i][1], arr[i][2], arr[i][3], arr[i][4]); } // Кол-во элементов кратных 3 и меньше 100 int Counter = 0; int res = 0; for(int i = 0; i < 4; i++){ for(int j = 0; j < 5; j++){ if(div(arr[i][j], 3).rem == 0 && arr[i][j] < 100) Counter++; } } std::cout<<"Count elements: " << Counter <<std::endl; // Среднее арифметическое к-ого столбца int k = 0; double sum = 0; std::cout<<"Enter column: " << std::endl; std::cin>>k; if( k < 1 || k > 4) return 0; for(int i = 0; i < 4; i++){ sum += arr[i][k - 1]; } std::cout<< "res: " << sum/4 << std::endl; // Максимумы по столбцам int maxs[5] = {0,0,0,0}; int max = 0, r = 0, c = 0, elem = 0; k = 0; for(int i = 0; i < 4; i++){ max = 0; for(int j = 0; j < 5; j++){ if(arr[i][j] > max){ max = arr[i][j]; c = i + 1; r = j + 1; } } std::cout<< "max: " << max << " coordinates: " << c << ":" << r << std::endl; maxs[k] = max; k++; } std::cout << "before sort: " << maxs[0] << " " << maxs[1] << " " << maxs[2] << " " << maxs[3] << std::endl; for(int z1 = 0; z1 < 4; z1++){ for(int z2 = 0; z2 < 4; z2++){ if(maxs[z1] < maxs[z2]){ elem = maxs[z2]; maxs[z2] = maxs[z1]; maxs[z1] = elem; } } } std::cout << "after sort: " << maxs[0] << " " << maxs[1] << " " << maxs[2] << " " << maxs[3] << std::endl; return 0; }

спасибочки большое....
но пишет ошибку и я тоже не понимаю....

а что такое arr?????

Цитата:
Сообщение от Гость
спасибочки большое....
но пишет ошибку и я тоже не понимаю....

а что такое arr?????
какую ошибку пишет? я код проверял... а вопрос твой, что такое arr говорит об одном, с с++ мы не дружим, это просто название переменной, в данном случае массива двумерного

мы только начинаем с ним дружить..))))
ляляля)))
а ошибку пишет как раз с этим arr...(((
undefined symbol "arr"...
что значит?

и ещё я девушка..) воть.. мне можно))))
кстати, а я по примеру препода табличку так сделала, норм?
{
clrscr();
const int M=5, N=4;
double d[M][N];//vveli massiv d
for (int i=0; i<M; i++)
for (int j=0; j<N; j++)
{
cout<<"VVesti element stroca"<<i<<"stolbec"<<j;
cin>>d[i][j];
}
for (i=0; i<M; i++)
{
for (int j=0; j<N; j++)
cout<<setw(5)<<setprecision(5)<<d[i][j];
cout<<endl;
}

так погоди,
double d[M][N]; - чем отличается от моего объявления массива, не пойму пока что никак???

неееее, это всё правильно))))
но, что ты мне сделал, всё отлично))))))
за это спасибо огромедноооое)))
только вот с ошибочкой не наю, фто делать..(((( хнык..(

какой у тебя компилятор??? давай подгоню под другой, какой скажешь

посмотри, пожалуйста просто, почему ответ не выходит....((((
Дан 2-мерный массив целых чисел(М строк, N столбцов, М=5, N=4). Элементы вводят с клавиатуры. Вывести массив на экран в виде таблицы. Определить количество элементов, кратных 3 и не превышающих 100. Посчитать среднее арифметическое в К-ом столбце.

Код:
#include <iostream.h> #include <stdlib.h> #include<conio.h> #include<iomanip.h> void main() { clrscr(); const int M=5, N=4; int d[M][N];//vveli massiv d for (int i=0; i<M; i++) for (int j=0; j<N; j++) { cout<<"VVesti element stroca"<<i<<"stolbec"<<j; cin>>d[i][j]; } for (i=0; i<M; i++) { for (int j=0; j<N; j++) cout<<setw(5)<<setprecision(5)<<d[i][j]; cout<<endl; } // vivod na ekran v vide tablici { // kol-vo elementov kratnix 3 i men"she sta int kol=0; for(i = 0; i < 4; i++) for(int j = 0; j < 5; j++) { if((d[i] [j]%3==0) && (d[i][j] < 100)) { kol++; if (kol==0) cout<<"Takix net"; else cout<<"koli4estvo elementov: "<<kol; } } int k = 0; double sum = 0; for (i=0; i < M; i++) for (int j=0; j<N; j++) { sum += d[i][j]; sum++; } cout<< "srednee arifmeticheskoe: " << k/sum; } getch(); }
Цитата:
Сообщение от Незарегистрированный
посмотри, пожалуйста просто, почему ответ не выходит....((((
Дан 2-мерный массив целых чисел(М строк, N столбцов, М=5, N=4). Элементы вводят с клавиатуры. Вывести массив на экран в виде таблицы. Определить количество элементов, кратных 3 и не превышающих 100. Посчитать среднее арифметическое в К-ом столбце.

Код:
#include <iostream.h>#include <stdlib.h>#include<conio.h>#include<iomanip.h>void main(){clrscr();const int M=5, N=4;int d[M][N];//vveli massiv dfor (int i=0; i<M; i++)for (int j=0; j<N; j++){cout<<"VVesti element stroca"<<i<<"stolbec"<<j;cin>>d[i][j];}for (i=0; i<M; i++) { for (int j=0; j<N; j++) cout<<setw(5)<<setprecision(5)<<d[i][j]; cout<<endl; }// vivod na ekran v vide tablici{// kol-vo elementov kratnix 3 i men"she staint kol=0;for(i = 0; i < 4; i++)for(int j = 0; j < 5; j++){if((d[i] [j]%3==0) && (d[i][j] < 100)){kol++;if (kol==0)cout<<"Takix net";else cout<<"koli4estvo elementov: "<<kol; // а этот вывод зачем в цикле выводить}}int k = 0;double sum = 0; // пардон а ниже написанный код - это что?for (i=0; i < M; i++)for (int j=0; j<N; j++){sum += d[i][j];sum++;}cout<< "srednee arifmeticheskoe: " << k/sum; // впервый раз вижу, чтобы среднее арифметичекое считали так, тем более ты считаешь вообще непонятно что...}getch();}
не осилил ваш код, комменты смотри выше

а не подскажешь, как там исправить и на что???
я по примеру препода делала, если честно...((((

можно так:
Код:
#include <iostream.h>#include <stdlib.h>#include<conio.h>#include<iomanip.h>void main(){clrscr();const int M=5, N=4;int d[M][N];//vveli massiv dfor (int i=0; i<M; i++)for (int j=0; j<N; j++){cout<<"VVesti element stroca"<<i<<"stolbec"<<j;cin>>d[i][j];}for (i=0; i<M; i++) { for (int j=0; j<N; j++) cout<<setw(5)<<setprecision(5)<<d[i][j]; cout<<endl; }// vivod na ekran v vide tablici{// kol-vo elementov kratnix 3 i men"she staint kol=0;for(i = 0; i < 4; i++)for(int j = 0; j < 5; j++){ if((d[i] [j]%3==0) && (d[i][j] < 100)) { kol++; }}if (kol==0)cout<<"Takix net";else cout<<"koli4estvo elementov: "<<kol; int k = 0;cin>>k;double sum = 0; for (i=0; i < M; i++){sum += d[k][j];}cout<< "srednee arifmeticheskoe: " << sum/k; getch();}