Предмет: Информатика,
автор: Тамаренька
разработать алгоритм и написать программу на языке turbo pascal
сформировать одномерный массив из элементов массива двумерного по указанному правилу и упорядочить элементы созданного массива в соответствие с вариантом. числа M и N вводятся с клавиатуры. для задания исходной матрицы предусмотреть два варианта: ввод с клавиатуры и ввод с помощью датчиков случайных чисел. возможность выбора пользователем варианта ввода матрицы должна быть предусмотрена в тексте программы.
сформировать массив B из: элементов четных строк удовлетворяющих условию: a¡j>2. отсортировать массив по убыванию
это можно написать на бумаге и прислать мне
Аноним:
Вы думаете, что пишете? "...написать на бумаге и прислать мне" - по почте, что ли?
Ответы
Автор ответа:
2
uses crt;
const
q=1000;var
a:array[1..q,1..q]of integer;
m,n,i,j,c,k,buf:integer;
b:array[1..q]of integer;
begin
writeln('n,m ?') ;
readln(n,m);
writeln('как заполнять матрицу ?');
writeln(' Нажмите 1 при помощи датчика, 2 - ввод с клавиатуры');
{выбор действия при заполнении}
readln(c);
case c of
1:for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
2:
begin
for i:=1 to n do
begin
for j:=1 to m do
readln(a[i,j]);
end;
clrscr;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end;
end;
writeln('формирование массива');
for i:=2 to n do
begin
if i mod 2=0 then
for j:=1 to m do
if a[i,j]>2 then
begin
k:=k+1;
b[k]:=a[i,j];
end;
end;
writeln;
for i:=1 to k do
write(b[i]:4);
writeln;
{сортировка}
for i:=1 to k -1 do
for j:=i+1 to k do
if b[i]<b[j]then
begin
buf:=b[i];
b[i]:=b[j];
b[j]:=buf;
end;
{вывод массива}
for i:=1 to k do
write(b[i]:4);
end.
const
q=1000;var
a:array[1..q,1..q]of integer;
m,n,i,j,c,k,buf:integer;
b:array[1..q]of integer;
begin
writeln('n,m ?') ;
readln(n,m);
writeln('как заполнять матрицу ?');
writeln(' Нажмите 1 при помощи датчика, 2 - ввод с клавиатуры');
{выбор действия при заполнении}
readln(c);
case c of
1:for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
2:
begin
for i:=1 to n do
begin
for j:=1 to m do
readln(a[i,j]);
end;
clrscr;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end;
end;
writeln('формирование массива');
for i:=2 to n do
begin
if i mod 2=0 then
for j:=1 to m do
if a[i,j]>2 then
begin
k:=k+1;
b[k]:=a[i,j];
end;
end;
writeln;
for i:=1 to k do
write(b[i]:4);
writeln;
{сортировка}
for i:=1 to k -1 do
for j:=i+1 to k do
if b[i]<b[j]then
begin
buf:=b[i];
b[i]:=b[j];
b[j]:=buf;
end;
{вывод массива}
for i:=1 to k do
write(b[i]:4);
end.
Похожие вопросы
Предмет: Українська мова,
автор: Schetelja2006
Предмет: Русский язык,
автор: wmx
Предмет: Українська мова,
автор: 2005dima01
Предмет: Математика,
автор: asax27