Помогите изменить массив : Дан одномерный целочисленный массив mas. Поменять местами два...

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

Помогите изменить массив :
Дан одномерный целочисленный массив mas. Поменять местами два элемента массива с номерами k1 и k2, если оба этих элемента чётны. Иначе – запросить у пользователя индекс ещё одного элемента k 3 и поменять его местами с первым элементом массива.Вывести на экран итоговый массив в строку.
Массив:
Program pr1;
Var i, N, k1, k2, R : integer;
mas: array[1..100]of integer;
Begin
Writeln ('Введите число элементов массива (N<100)');<br> Readln (N);
For i:=1 to N do begin
Write ('Введите ', i, ' элемент массива ');
Readln (mas[i]);
end;
Write ('Введите номера элементов, которые необходимо поменять местами: ');
Readln (k1, k2);
Writeln ('Исходный массив: ');
For i:=1 to N do
write(mas[i], ' ');
writeln;
R:=mas[k1];
mas[k1] := mas[k2];
mas[k2] := R;
Writeln ('Итоговый массив: ');
for i := 1 to N do
Write (mas[i], ' ');
End.


Информатика (27 баллов) | 56 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program pr1;
Var i, N, k1, k2, k3, R : integer;
mas: array[1..100]of integer;
Begin
Writeln ('Введите число элементов массива (N<100)');<br>Readln (N);
For i:=1 to N do begin
Write ('Введите ', i, ' элемент массива ');
Readln (mas[i]);
end;
Write ('Введите номера элементов, которые необходимо поменять местами: ');
Readln (k1, k2);
Writeln ('Исходный массив: '); 
For i:=1 to N do write(mas[i], ' ');
writeln;
if (mas[k1] mod 2=0)and(mas[k2] mod 2=0) then
 begin 
 R:=mas[k1]; mas[k1] := mas[k2]; mas[k2] := R; 
 end
else
 begin
 write('Введите ещё один номер: ');
 readln(k3);
 R:=mas[k3]; mas[k3] := mas[1]; mas[1] := R; 
 end;
Writeln ('Итоговый массив: '); 
for i := 1 to N do Write (mas[i], ' '); 
End.

Пример:
Введите число элементов массива (N<100)<br>5
Введите 1 элемент массива 12
Введите 2 элемент массива 84
Введите 3 элемент массива 37
Введите 4 элемент массива 59
Введите 5 элемент массива 20
Введите номера элементов, которые необходимо поменять местами: 2 4
Исходный массив: 12 84 37 59 20
Введите ещё один номер: 5
Итоговый массив: 20 84 37 59 12

(194k баллов)