Добрый вечер! Помогите Пожалуйста написать программу: Дан целочисленный двумерный массив размера n*m . Преобразовать его следующим образом: в каждом столбце заменить минимальным элементом массива все элементы предшествующие (по номеру) минимальному элементу в этом столбце
Lapp
19.04.2011 5:27
Цитата(Merhaba @ 18.04.2011 21:00)
Добрый вечер! Помогите Пожалуйста написать программу: Дан целочисленный двумерный массив размера n*m . Преобразовать его следующим образом: в каждом столбце заменить минимальным элементом массива все элементы предшествующие (по номеру) минимальному элементу в этом столбце
Даю полное решение, но в нем одна ошибка. Я ее сделал специально. Найди и исправь. Ошибка в одном символе.
const
n= 10;
m= 15;
var
i,j,c: integer;
b: array [1..m] of integer;
a: array [1..n,1..m] of integer;
beginfor i:=1to n dofor j:=1to m do a[i,j]:= Random(100);
WriteLn('before:');
for i:=1to n dobeginfor j:=1to m do Write(a[i,j]:3);
WriteLn
end;
for j:=1to m do b[j]:= 1;
for i:=2to n dofor j:=1to m doif a[i,j]<a[b[j],j] then b[j]:= i;
c:= a[b[1],1];
for j:=2to3doif a[b[j],j]<c then c:= a[b[j],j];
for j:=1to m dofor i:=1to b[j]-1do a[i,j]:= c;
WriteLn('after:');
for i:=1to n dobeginfor j:=1to m do Write(a[i,j]:3);
WriteLn
end;
ReadLn
end.
Merhaba
19.04.2011 9:58
Цитата(Lapp @ 19.04.2011 2:27)
Даю полное решение, но в нем одна ошибка. Я ее сделал специально. Найди и исправь. Ошибка в одном символе.
a[i,j]:3
что тут обозначает цифра 3?
Lapp
19.04.2011 10:09
Цитата(Merhaba @ 19.04.2011 6:58)
что тут обозначает цифра 3?
Это форматированный вывод. Число означает длину поля вывода в позициях. В данном случае число выводится в трех позициях, справа. Левые позиции заполняются пробелами до полной длины поля. Это обеспечивает ровный вывод по столбцам независимо от значности числа.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.