Другие языки программирования и технологии
Задача в Pascal Помогите решить
Дан массив 10на10 целых чисел поменять местами 1 столбец со столбцом содержащий наиболее количество положительных элементов !!!Заранее спасибо!
var
a: array[1..10, 1..10] of integer;
i, j, k, imx, mx: byte;
x: integer;
begin
for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
a[ i, j ] := random(20) - 9;
write(a[ i, j ]:4);
end;
writeln;
end;
writeln;
imx := 0; mx := 0;
for j := 1 to 10 do
begin
k := 0;
for i := 1 to 10 do
if a[ i, j ] > 0 then k := k + 1;
if k > mx then
begin
mx := k;
imx := j;
end;
end;
if imx = 0 then writeln('В матрице X нет положительных элементов! ')
else begin
writeln('Больше всего положительных элементов в столбце ', imx);
if imx = 1 then write('Это первый столбец, обмена нет! ')
else
begin
for i := 1 to 10 do
begin
x := a[ i, 1 ];
a[ i, 1 ] := a[ i, imx ];
a[ i, imx ] := x;
end;
writeln;
writeln('Обмен столбцов 1 и ', imx);
writeln;
for i := 1 to 10 do
begin
for j := 1 to 10 do
write(a[ i, j ]:4);
writeln;
end;
end;
end;
end.
a: array[1..10, 1..10] of integer;
i, j, k, imx, mx: byte;
x: integer;
begin
for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
a[ i, j ] := random(20) - 9;
write(a[ i, j ]:4);
end;
writeln;
end;
writeln;
imx := 0; mx := 0;
for j := 1 to 10 do
begin
k := 0;
for i := 1 to 10 do
if a[ i, j ] > 0 then k := k + 1;
if k > mx then
begin
mx := k;
imx := j;
end;
end;
if imx = 0 then writeln('В матрице X нет положительных элементов! ')
else begin
writeln('Больше всего положительных элементов в столбце ', imx);
if imx = 1 then write('Это первый столбец, обмена нет! ')
else
begin
for i := 1 to 10 do
begin
x := a[ i, 1 ];
a[ i, 1 ] := a[ i, imx ];
a[ i, imx ] := x;
end;
writeln;
writeln('Обмен столбцов 1 и ', imx);
writeln;
for i := 1 to 10 do
begin
for j := 1 to 10 do
write(a[ i, j ]:4);
writeln;
end;
end;
end;
end.
поправка к вышенаписанному
строчку if a[ i, j ] > 0 then k := k + 1;
написать как if a[ i, j ] > =0 then k := k + 1;
строчку if a[ i, j ] > 0 then k := k + 1;
написать как if a[ i, j ] > =0 then k := k + 1;
Похожие вопросы
- Задача по TURBO PASCAL! Помогите решить, пожалуйста! Дано 4 точки на плоскости. Нужно разставить их по часовой стрелке.
- Turbo Pascal. Помогите решить 2 задачи! Совершено не понимаю в этом.
- Задача по Pascal Помогите, пожалуйта.
- олимпиадная задача по информатике. Помогите решить пожалуйста
- Pascal. Помогите пожалуйста решить задачу в паскале !
- Пожалуйста помогите решить задачу Pascal
- Помогите решить задачу через процедуры PASCAL
- Помогите решить задачи Pascal
- Помогите решить задачу в Pascal!
- Помогите решить задачу Pascal