Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Матрицы

Автор: Анютка 14.04.2006 22:03

Помогите, пожалуйста, перевести задачу из Паскаля в С rolleyes.gif
Вот условие:

Цитата
Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Переставить строки матрицы в порядке неубывания элементов первого столбца.

Вот её решение на Паскале:
program mat;
var a: array [1..100,1..100] of integer;
b: array [1..100] of integer;
i,j,n,k,t,s: integer;
summ, min, ukaz: integer;
begin
randomize;
writeln('Введите размерность матрицы');
readln(n);
For i:=1 to n do
begin
For j:=1 to n do
begin
a[i,j] := random(100)-7;
write (a[i,j]:2,' ');
end;
writeln;
b[i]:= 0; min:=a[1,1];
end;
ukaz:=0;
for j:=1 to n do
begin
s:=0;
for i:=1 to n do
if A[i,j] >= 0 then inc(s, A[i,j])
else
begin
s:=-1;
ukaz:=ukaz+1;
break
end;
if s >= 0 then writeLn('Сумма в неотрицательном столбце ', s) else
if ukaz=n then writeln('Положительных столбцов нет!');
end;
writeln;
writeln('Суммы диагоналей выше побочной (по модулю)');
For j:=1 to n-1 do
Begin
summ := 0;
For i:=1 to n-j do
summ := summ + abs(a[i,n-j-i+1]);
b[j] := summ;
if abs(b[j])<min then min:=abs(b[j]);
write(b[j],' ');
end;
writeln; writeln;
writeln('Суммы диагоналей ниже побочной (по модулю)');
For j:=2 to n do
Begin
summ := 0;
For i:=j to n do
summ := summ + abs(a[i,n-i+j]);
b[j+n-2] := summ;
if abs(b[j+n-2])<min then min:=abs(b[j+n-2]);
write(b[j+n-2],' ');
end;
writeln;
writeln;
writeln('Минимум среди сумм диагоналей­ ',abs(min));
writeln('Преобразованный массив ');
for i:=1 to n do
for j:=n downTo i+1 do
if a[j-1,1]>a[j,1] then
for k:=1 to n do begin
t:=a[j-1,k];a[j-1,k]:=a[j,k];a[j,k]:=t
end;
for i:=1 to n do begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
readln
end.


Заранее благодарна!

Автор: volvo 14.04.2006 22:39

Анютка, так С или С++ ? Это ОЧЕНЬ разные вещи!

Автор: Анютка 15.04.2006 15:54

Просто С ( не С++)

Автор: Анютка 26.04.2006 19:36

Мне так никто и не помог sad.gif