Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 06.02.2014, 18:33   #1 (ссылка)
Новичок
 
Регистрация: 06.02.2014
Сообщений: 9
Репутация: 0
Red face Pascal ABC обработка массивов и матриц

Ребят помогите решить 2 задачи, а то болела тему пропустила и итак особенно не разбираюсь в паскале, а мне реально зачёт надо через 4 дня сдавать. Кто поможет буду очень признательна!

№1
Имя массива или матрицы и размеры (E 25)
Условия и ограничения E[ i ]>0
Определить максимальный элемент массива E и его порядковый номер

№2
Имя массива или матрицы и размеры E(N,M)
Условия и ограничения N _< 20, M_<10
Найти в каждой строке матрицы максимальные и минимальные элементы и поместить их на место первого и последнего элемента строки соответственно. Матрицу напечатать в общепринятом виде
Elizaveta_1994 вне форума  
Старый 06.02.2014, 19:36   #2 (ссылка)
Стажёр
 
Регистрация: 04.01.2013
Сообщений: 490
Репутация: 57
По умолчанию

Программа №1
Код:
program proga1;
uses crt;
var
e:array[1..25] of integer;
i,c,p:integer;
begin
clrscr;
c:=0;
writeln('elementi massiva');
for i:=1 to 25 do begin
e[i]:=random(30)+1;
if e[i]>c then begin
c:=e[i];
p:=i;
end;
write(e[i],' ');
end;
writeln;
writeln('maksimalmii element massiva=',c);
writeln('ego nomer ',p);
readln;
end.


---------- Добавлено в 19:36 ---------- Предыдущее сообщение было написано в 18:55 ----------

Программа №2
Код:
program proga2;
uses crt;
var e:array[1..20, 1..10]of integer;
n,m,i,j,max,min,b,maxn,minn:integer;
begin
clrscr;
randomize;
writeln('vvedite N, M');
readln(n,m);
if (n<=20)and(m<=10)then begin
for i:=1 to n do begin
for j:=1 to m do begin
e[i][j]:=random(31);
write(e[i][j]:2,'  ');
end;
writeln;
end;
for i:=1 to n do begin
min:=e[i][1];
max:=e[i][1];
maxn:=1;
minn:=1;
for j:=2 to m do begin
if e[i][j]>max then begin
max:=e[i][j];
maxn:=j;
end;
if e[i][j]<min then begin
min:=e[i][j];
minn:=j;
end;
end;
if (maxn=m)and(minn=1)then begin
b:=e[i][1];
e[i][1]:=e[i][m];
e[i][m]:=b;
end
else begin
if (maxn<>m)then begin
b:=e[i][m];
e[i][m]:=min;
e[i][minn]:=b;
b:=e[i][1];
e[i][1]:=max;
e[i][maxn]:=b;
end
else begin
b:=e[i][1];
e[i][1]:=max;
e[i][maxn]:=b;
b:=e[i][m];
e[i][m]:=min;
e[i][minn]:=b;
end;
end;
end;
writeln('novii massiv');
for i:=1 to n do begin
for j:=1 to m do begin
write(e[i][j]:2,'  ');
end;
writeln;
end;
end
else writeln('nedopustimie znachenaja');
readln;
end.
Serega_490101 вне форума  
Старый 06.02.2014, 22:13   #3 (ссылка)
Новичок
 
Регистрация: 06.02.2014
Сообщений: 9
Репутация: 0
По умолчанию

Serega_490101, Спасибо тебе, но 2 программу не запускает можете пожалуйста пересмотреть

program proga2;
uses crt;
var e:array[1..20, 1..10]of integer;
n,m,i,j,max,min,b,maxn,minn:integer;
begin
clrscr;
randomize;
writeln('vvedite N, M');
readln(n,m);
if (n<=20)and(m<=10)then begin
for i:=1 to n do begin
for j:=1 to m do begin
e[i][j]:=random(31);------- в этой строке выдаёт ошибку массив имеет другое количество размерностей
Elizaveta_1994 вне форума  
Старый 07.02.2014, 07:41   #4 (ссылка)
Стажёр
 
Регистрация: 04.01.2013
Сообщений: 490
Репутация: 57
По умолчанию

Новый код:
Код:
program proga2;
uses crt;
var e:array[1..20, 1..10]of integer;
n,m,i,j,max,min,b,maxn,minn:integer;
begin
clrscr;
randomize;
writeln('vvedite N, M');
readln(n,m);
if (n<=20)and(m<=10)then begin
for i:=1 to n do begin
for j:=1 to m do begin
e[i,j]:=random(31);
write(e[i,j]:2,'  ');
end;
writeln;
end;
for i:=1 to n do begin
min:=e[i,1];
max:=e[i,1];
maxn:=1;
minn:=1;
for j:=2 to m do begin
if e[i,j]>max then begin
max:=e[i,j];
maxn:=j;
end;
if e[i,j]<min then begin
min:=e[i,j];
minn:=j;
end;
end;
if (maxn=m)and(minn=1)then begin
b:=e[i,1];
e[i,1]:=e[i,m];
e[i,m]:=b;
end
else begin
if (maxn<>m)then begin
b:=e[i,m];
e[i,m]:=min;
e[i,minn]:=b;
b:=e[i,1];
e[i,1]:=max;
e[i,maxn]:=b;
end
else begin
b:=e[i,1];
e[i,1]:=max;
e[i,maxn]:=b;
b:=e[i,m];
e[i,m]:=min;
e[i,minn]:=b;
end;
end;
end;
writeln('novii massiv');
for i:=1 to n do begin
for j:=1 to m do begin
write(e[i,j]:2,'  ');
end;
writeln;
end;
end
else writeln('nedopustimie znachenaja');
readln;
end.
Serega_490101 вне форума  
Старый 07.02.2014, 13:33   #5 (ссылка)
Новичок
 
Регистрация: 06.02.2014
Сообщений: 9
Репутация: 0
По умолчанию

Serega_490101, Спасибо что помогли =)
Elizaveta_1994 вне форума  
Старый 07.02.2014, 15:01   #6 (ссылка)
Стажёр
 
Регистрация: 04.01.2013
Сообщений: 490
Репутация: 57
По умолчанию

Elizaveta_1994, пожалуйста
Serega_490101 вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместимость матриц. TurisT Неисправности, настройка 0 02.11.2013 19:26
Массив массивов C# Guy13 Программирование 0 24.12.2011 01:53
Обработка массивов в Visual Basic Demented Программирование 0 23.02.2011 19:57
Создание RAID массивов 2611199_ Неисправности, настройка 5 30.01.2010 21:11


Текущее время: 03:51. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.