Условие задачи: Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]. Размер произвольный. (Язык Pascal)
Сложность: легкая.
Решение задачи
Для начала продумаем наше решение. Ну само собой сначала заполним массив случайными числами с помощью цикла и когда будем заполнять будем проверять является ли текущее число кратное трем и если кратно то сразу занесем его в произведение.
Для того чтобы решить задачу нам понадобятся следующие переменные:
- Переменная mass — для массива
- Переменная i — для цикла for
- Переменная n — для кол-ва элементов массива
- Переменная proiz — для произведения
Начнем мы с каркаса нашей программы
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
type massiv = array [ 1..1000 ] of integer ; // создаем свой тип данных var proiz, n, i : integer ; // объявляем mass : massiv; // переменные begin randomize; // включаем генератор случайных чисел write ( 'Введите длину массива : ' );readln(n); // вводим длину массива readln; // чтобы программа не закрывалась end . |
Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ) включили генератор случайных чисел , подробнее (тут), ну и попросили пользователя ввести кол-во элементов массива.
Теперь нам надо заполнить наш массив случайными, делается это как обычно в цикле, но также мы в цикле сразу проверим элемент которому только что присвоили значение на кратность, до начала цикла нам нужно задать начальное значение переменной в которое у нас будет храниться произведение (proiz), нужно ей присвоить единицу, если этого не сделать, то произведение у нас будет всегда равно одному:
1
2
3
4
5
6
7
8
9
10
11
|
proiz := 1 ; // начальное значение произведение ДОЛЖНО быть равно 1 for i:= 1 to n do // пускаем цикл, от 1 до длины массива begin mass[i] := random( 56 ) - 28 ; // получаем случайное число от -28 до 27 if (mass[i] mod 3 = 0 ) then // если оно кратно 3 proiz := proiz * mass[i]; // то заносим его в произведение write (mass[i], ' | ' ); // выводим массив end ; |
Т.е. довольно просто, при заполнение массива сразу же и проверяем числа на кратность.
Всё решение задачи Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
type massiv = array [ 1..1000 ] of integer ; // создаем свой тип данных var proiz, n, i : integer ; // объявляем mass : massiv; // переменные begin randomize; // включаем генератор случайных чисел write ( 'Введите длину массива : ' );readln(n); // вводим длину массива proiz := 1 ; // начальное значение произведение ДОЛЖНО быть равно 1 for i:= 1 to n do // пускаем цикл, от 1 до длины массива begin mass[i] := random( 56 ) - 28 ; // получаем случайное число от -28 до 27 if (mass[i] mod 3 = 0 ) then // если оно кратно 3 proiz := proiz * mass[i]; // то заносим его в произведение write (mass[i], ' | ' ); // выводим массив end ; writeln ; // для красоты переносим курсор на новую строку writeln ( 'Произведение чисел кратных 3-м = ' , proiz); // выводим результат readln; // чтобы программа не закрывалась end . |