В паскале нужна программа,которая поменят два элемента первый и последнийзаранее спасибо)...

0 голосов
70 просмотров

В паскале нужна программа,которая поменят два элемента первый и последний
заранее спасибо) от 1 до 20
9 класс


Информатика (74 баллов) | 70 просмотров
0

Тебе полностью написать программу?Или объявить переменные сможешь сам, а тебе нужен только принцип действия.?P.S. Спрашиваю потому что давно не работал в паскале

0

мне нужен сам принцип ибо у нас в задаче нужно поменять максимальный и первый, сначала я нашел максимальый и вывел его, но вот как его поменять не знаю, не получается

0

Создаешь левую переменную, например "a", в нее записываешь номер максимального элементаСоздаешь еще одну, например "b", в нее записываешь mas[1]И потом просто меняешь местами:mas[1]=mas[a]mas[a]=b;

0

а подробнее можешь? а то ошибку пишет, помоги пожалуйста))

Дан 1 ответ
0 голосов

Не помню как там с объявлением переменных, но если брать основную часть, то:
begin
a:=0;
b:=mas[1];
max=0;
for (int i:=1;i<=20;i:=i+1)<br>{
if (mas[i]>max)
{
max:=mas[i];
a:=i;
}
mas[1]:=mas[a];
mas[a]:=b;

(4.0k баллов)
0

Program P;
var a: array [1..20] of integer;
i,max, k,c: integer;
BEGIN
for i:=1 to 20 do
a[i]:= random (21);
for i:=1 to 20 do write (a[i]:4);

0

writeln;
max:=a[i]; k:=1;
for i:=2 to 20 do
if a[i]>max then
begin
max:=a[i]; k:=i;
end;

0

c:=a[1]; a[1]:=max; max:=c;
for i:=1 to 20 do write (a[i]:4);
end.

0

вот как я написал, но мне почему-то меняет только максимальный стит на первое место а вот на место максимального первый элемент не становится(

0

Потому что ты ставишь на первое место max, а вместо него забыл
после a[1]:=max, нужно было добавить a[k]:=c (а так ты просто в переменную max:=c записываешь первый элемент)

0

аааа) точняяк) спасиибо) выручил!!)