1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Дана матрица А размером MxN, состоящая из натуральных чисел, больших 1. Выполнить следующие действия: 1) Строки матрицы А упорядочить по невозрастанию произведения элементов строк. 2) Составить одномерный массив В, в котором элемент Вj, равен номеру столбца, содержащего только числа, кратные 5, в противном случае Вj = 0.
-------------------------- Нужно перевести задачу с Паскаля на С Подскажите где я ошибся ?
Вот С :
#include <stdio.h> #include <conio.h> #include <iostream.h> void main() { const int m=5; const int n=4; int a[m][n]= { {3,5,4,15}, {2,5,3,5}, {5,10,3,5}, {4,5,3,10}, {9,5,2,5} }; int i,j,tmp; int tta[n]; int psa[n]; int count; int B[100]; for(i=1;i<m;i++) { psa[i]=1; for(j=1;j<n;j++) psa[i]=psa[i]*a[i][j]; }
for(i=1;i<m;i++) for(j=1;j<m;j++) { if (psa[i]>psa[j]) { tmp=psa[i]; psa[i]=psa[j]; psa[j]=tmp; for (tmp=1;tmp<n;tmp++) { tta[tmp]=a[i][tmp]; } for (tmp=1;tmp<n;tmp++) { a[i][tmp]=a[j][tmp]; } for (tmp=1;tmp<n;tmp++) { a[j][tmp]=tta[tmp]; }
} } cout<<"Matritsa uporyadoch. po nevozrataniu proizvedniy elementov strok " << endl;
var i,j,tmp:integer; tta,psa:array[1..n] of integer; count: integer; B: array[1..100] of integer;
begin for i:=1 to m do begin psa[i]:=1; for j:=1 to n do psa[i]:=psa[i]*a[i,j]; end;
for i:=1 to m do for j:=1 to m do begin if psa[i]>psa[j] then begin tmp:=psa[i]; psa[i]:=psa[j]; psa[j]:=tmp; for tmp:=1 to n do tta[tmp]:=a[i,tmp]; for tmp:=1 to n do a[i,tmp]:=a[j,tmp]; for tmp:=1 to n do a[j,tmp]:=tta[tmp]; end; end; writeln('Matritsa uporyadoch. po nevozrataniu proizvedniy elementov strok'); writeln; for i:=1 to m do begin for j:=1 to n do write(a[i,j],' '); writeln; end;
for j := 1 to n do begin count := 0; for i := 1 to m do if (a[i, j] mod 5) = 0 then count := count + 1;
if count = m then B[j] := j else B[j]:=0;
end;
writeln('Poluchenniy massiv B='); for i:=1 to m do for j:=1 to n do write( B[j]); readln; end.