Одномерный массив - Pascal (90436)
Формулировка задачи:
Всем привет. Помогите разобраться с задачей.
1. Заданы два натуральных числа a и b. Переменной w присвоить значение истина, если в одномерном целочисленном массиве имеется хотя бы один элемент, кратный а и не кратный b.
Заранее благодарен.
Решение задачи: «Одномерный массив»
textual
Листинг программы
uses CRT; var l:array[1..20] of integer; a,b,n,i:integer; w:boolean; begin readln(n); randomize; for i:=1 to n do begin l[i]:=random(10)-3; write(l[i]:3); end; writeln; readln(a,b); w:=false; for i:=1 to n do if (l[i] mod a=0) and (l[i] mod b<>0) then begin w:=true; end; writeln(w); readkey end.
Объяснение кода листинга программы
- Импортируется модуль CRT.
- Объявляется массив l типа array[1..20] of integer, переменные a, b, n, i типа integer и переменная w типа boolean.
- В цикле от 1 до n с помощью readln(n) считывается количество элементов, которые будут создаваться в массиве l.
- В цикле от 1 до n с помощью for i:=1 to n создаются элементы массива l. Каждый элемент приводится к типу integer с помощью random(10)-3 и записывается в массив l[i].
- С помощью write(l[i]:3) выводится на экран значение элемента l[i], обрезанное до 3 символов.
- Завершается цикл.
- В цикле от 1 до n с помощью for i:=1 to n считываются значения a и b с помощью readln(a,b).
- Переменная w инициализируется значением false.
- В цикле от 1 до n проверяется, является ли i-й элемент массива l кратным a и некратным b. Если это так, то значение переменной w изменяется на true.
- Завершается цикл.
- С помощью writeln(w) выводится на экран значение переменной w.
- С помощью readkey() программа ожидает нажатия клавиши.