Замена элементов в массиве А - Pascal
Формулировка задачи:
Заменить в массиве A элементы с четными номерами суммой элементов.
Решение задачи: «Замена элементов в массиве А»
textual
Листинг программы
program pr1; uses crt; const WG=100; type tmasi=array[1..WG]of integer; var a:tmasi; i,j:byte; s:integer; procedure pro_vv_mas(var n:byte; var mas:tmasi); var kl,i:byte; begin writeln('1-vvod s klaviature; 2-sluchayno'); readln(kl); if kl=2 then randomize; writeln('razmernost`'); readln(n); for i:=1 to n do case kl of 1:begin writeln('vvedi ',i,' element'); readln(mas[i]); end; 2:mas[i]:=random(50); end; end; procedure pro_out_mas(n:byte; mas:tmasi); var i:byte; begin writeln('isxodni massiv:'); for i:=1 to n do write(mas[i]:5); end; begin pro_vv_mas(j,a); writeln('massiv'); pro_out_mas(j,a); writeln; s:=0; for i:=1 to j do s:=s+a[i]; for i:=1 to j do if i mod 2=0 then a[i]:=s; writeln('summa elementov-',s); writeln('novi` massiv:'); pro_out_mas(j,a); end.
Объяснение кода листинга программы
- Объявление переменных и констант: — a:tmasi; (массив типа tmasi с именем a) — i, j:byte; (переменные для цикла с типом byte) — s:integer; (переменная типа integer) — WG=100; (константа для размера массива)
- Объявление процедур: — pro_vv_mas(var n:byte; var mas:tmasi); (процедура для ввода элементов в массив) — pro_out_mas(n:byte; mas:tmasi); (процедура для вывода элементов массива)
- Ввод размера массива и выбор режима ввода: — writeln('1-vvod s klaviature; 2-sluchayno'); (вывод сообщения для выбора режима) — readln(kl); (чтение выбранного режима в переменную kl) — if kl=2 then randomize; (случайное заполнение массива при выбранном режиме) — writeln('razmernost`'); (вывод сообщения о размере массива) — readln(n); (чтение размера массива в переменную n)
- Инициализация массива: — for i:=1 to n do — begin — writeln('vvedi ',i,' element'); (вывод сообщения для ввода элемента) — readln(mas[i]); (чтение элемента в массив) — end;
- Ввод и вывод массива: — writeln('isxodni massiv:'); (вывод сообщения о выходе массива) — for i:=1 to n do write(mas[i]:5); (вывод элементов массива с пробелами между ними)
- Вычисление суммы элементов массива: — s:=0; (инициализация переменной s нулем) — for i:=1 to j do s:=s+a[i]; (вычисление суммы элементов массива)
- Замена четных элементов массива: — for i:=1 to j do if i mod 2=0 then a[i]:=s; (замена четных элементов массива на сумму остальных элементов)
- Вывод суммы и нового массива: — writeln('summa elementov-',s); (вывод сообщения о сумме элементов) — writeln('novi` massiv:'); (вывод сообщения о новом массиве) — for i:=1 to j do write(a[i]:5); (вывод нового массива с пробелами между элементами)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д