Помогите Решить Массив.... Решаю Не Получается

  • Автор темы -
  • Дата начала

Гость
#1
Дана вещественная матрица размерности n * m. Найти произведение наибольших элементов каждой строки матрицы и их координаты

решаю чет не получается (((( помогите мне так срочно надо...


#include "stdafx.h"
#include "conio.h"
# define n 2
# define m 2

int _tmain(int argc, _TCHAR* argv[])
{
int a[n][m];
int i,j,k=0,max,t=0;
printf("massivti engiz: \n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
printf("a[%d][%d]= ",i,j);
scanf("%d", &a[j]);
}
max=a[0][0];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if (a[0][0]>max) max=a[j];

{ j=k;
k=max;
for (i=0; i<n; i++)
if (a[k]>0) t=t+a[k];

}
printf("max= %d",max);
printf("\n t= %d",t);
//printf("a[%d][%d]= %d ,t= %d", a[j],t);
_getch();
}
 

ixoyz

Member
12.05.2012
16
0
33
Красноярск
#2
Найти произведение наибольших элементов каждой строки матрицы и их координаты
Если я правильно понимаю задание, надо в каждой строке найти максимальный элемент, умножить на координату в данной строке и вывести.
1. Ты ищешь максимум по всей матрице, а тебе надо искать по каждой строке.
2. Советую в max хранить не значение элемента, а его индекс, тогда сразу будет оба частных, т.е. не
Код:
max=a[i][0];
...
if (max<a[i][j]) max=a[i][j];
, а
Код:
max=0;
...
if(a[i][max]<a[i][j]) max=j;
соответственно, потом вывод max*a[max]
3. Что делает следующая часть кода я так и не понял:
{ j=k;
k=max;
for (i=0; i<n; i++)
if (a[k]>0) t=t+a[k];

}