Дан целочисленный двумерный массив.
1. Удалить те строки, в которых встречаются нулевые элементы.
2. Отсортировать элементы первого столбца по возрастанию.
3. В последним столбце прибавить число b ко всем элементам после k-го элемента (b и k ввести с клавиатуры).
Под удалением понимать исключение этого элемента путем смещения всех следующих за ним влево на 1 позицию и присвоение последнему элементу значения 0.
Для отладки программы числа матрицы сформировать с помощью генератора случайных чисел.
Другие языки программирования и технологии
Помогите с информатикой!!! Кто понимает? Нужно преобразовать массив. (написать программу на паскале).
var i, j, n, b, k: Integer;
a: array [1..100,1..100] of integer;
h, c: array [1..100] of integer;
begin
write ('n= ');
readln (n);
writeln ('Исходный массив ');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random (10);
write (a[i,j]:3);
if a[i,j]=0 then h[i]:=1;
c[i]:=a[i,1];
end;
writeln;
//writeln (h[i]:5);
end;
writeln;
writeln ('1. Удалить те строки, в которых встречаются нулевые элементы.');
for i:=1 to n do
begin
if h[i] = 0 then
begin
for j:=1 to n do
write (a[i,j]:3);
writeln;
end;
end;
writeln;
writeln ('2. Отсортировать элементы первого столбца по возрастанию.');
//for i:=1 to n do writeln (c[i]:3);
for i:=1 to n do
for j:=1 to n do
if c[i] < c[j] then
begin
c[n+1]:=c[i];
c[i]:=c[j];
c[j]:=c[n+1];
end;
for i:=1 to n do a[i,1]:=c[i];
for i:=1 to n do
begin
for j:=1 to n do
write (a[i,j]:3);
writeln;
end;
writeln ('3. В последним столбце прибавить число b ко всем элементам ');
writeln ('после k-го элемента (b и k ввести с клавиатуры).');
write ('b= (от 1 до 20) = ');
readln(b);
write ('k= (от 1 до ',n-1,') = ');
readln(k);
for i:=1 to n do
begin
for j:=1 to n do
if (i > k) and (j = n) then write (a[i,j]+b:3)
else write (a[i,j]:3);
writeln;
end;
end.
a: array [1..100,1..100] of integer;
h, c: array [1..100] of integer;
begin
write ('n= ');
readln (n);
writeln ('Исходный массив ');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random (10);
write (a[i,j]:3);
if a[i,j]=0 then h[i]:=1;
c[i]:=a[i,1];
end;
writeln;
//writeln (h[i]:5);
end;
writeln;
writeln ('1. Удалить те строки, в которых встречаются нулевые элементы.');
for i:=1 to n do
begin
if h[i] = 0 then
begin
for j:=1 to n do
write (a[i,j]:3);
writeln;
end;
end;
writeln;
writeln ('2. Отсортировать элементы первого столбца по возрастанию.');
//for i:=1 to n do writeln (c[i]:3);
for i:=1 to n do
for j:=1 to n do
if c[i] < c[j] then
begin
c[n+1]:=c[i];
c[i]:=c[j];
c[j]:=c[n+1];
end;
for i:=1 to n do a[i,1]:=c[i];
for i:=1 to n do
begin
for j:=1 to n do
write (a[i,j]:3);
writeln;
end;
writeln ('3. В последним столбце прибавить число b ко всем элементам ');
writeln ('после k-го элемента (b и k ввести с клавиатуры).');
write ('b= (от 1 до 20) = ');
readln(b);
write ('k= (от 1 до ',n-1,') = ');
readln(k);
for i:=1 to n do
begin
for j:=1 to n do
if (i > k) and (j = n) then write (a[i,j]+b:3)
else write (a[i,j]:3);
writeln;
end;
end.
Интересно, в каких учебных заведениях мучают такими задачами? Это не похоже на школьную информатику.
Похожие вопросы
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- помогите плиз написать программу на паскале...тема массивы...нужно использовать поиск деления пополам!!!нужно срочно!
- Помогите с одномерным массивом. Напишите код на Паскале.
- Помогите пожалуйста написать программу в Паскале )) Написать программу для вычисления суммы в массиве из 10 элементов
- Нужно написать программу на паскале
- Помогие написать программу в паскале на тему "Массивы".
- Помогите, пожалуйста, с информатикой. 10 класс. Надо найти ошибку в программе. Язык паскаль
- Написать программу в Паскале для построения графика функций. К программе желательно составить алгоритм.
- люди добрые помогите мне написать программу в паскале, метод Рунге Кутта. Математическое решение есть у меня
- Помогите написать программу на паскале
преподаватель садист просто )))