Задание 7 Урок 15
Primary tabs
Задание 7 Урок 15
Заполните массив целых чисел (длиной 8 элементов) случайными значениями от -5 до 5.
Сохраните все неотрицательные числа первого массива во второй массив
и выведете этот второй массив на экран (если количество сохраненных чисел во втором массиве меньше, чем его длина, то выведете только их, не обходя неинициализированные яйчейки).
program Project1; type type_for_the_array = array[0..7] of integer; var counter_array,min,max,high_of_the_array: integer; first_array: type_for_the_array; procedure print_array(copyArray: type_for_the_array; highOfTheArray: integer); var auxiliary_array: array[0..7] of integer;// второй массив counter_auxiliary_array, counter_first_array: integer; begin counter_auxiliary_array := 0; for counter_first_array := low(copyArray) to high(copyArray) do if copyArray[counter_first_array] > 0 then begin auxiliary_array[counter_auxiliary_array]:=copyArray[counter_first_array]; counter_auxiliary_array += 1; end; for counter_auxiliary_array :=low(auxiliary_array) to highOfTheArray do writeln(auxiliary_array[counter_auxiliary_array]); end; begin high_of_the_array := 0; min := -5; max := 5; randomize; for counter_array := low(first_array) to high(first_array) do begin first_array[counter_array] := min + random(max - min + 1); if first_array[counter_array] > 0 then high_of_the_array += 1; end; print_array(first_array,high_of_the_array); readln(); end.
2 3 3 2 2 0
- Log in to post comments
- 2034 reads
vedro-compota
Sun, 11/22/2020 - 17:40
Permalink
добавить полные распечатки
добавить полные распечатки массивов
_____________
матфак вгу и остальная классика =)
Dobrii_kot
Tue, 11/24/2020 - 16:13
Permalink
Исправлено
При объявлении массива либо же переменной в процедуре могут появляться следующие значения:
При использовании переменной counter_auxiliary_array без инициализации ячейка 0 (ноль)
второго массива auxiliary_array остаётся неинициализированной.
В результате, при выведении массива, значение этой ячейки может быть равно 0 (нулю) или же рандомному значению подобному значению из окна отладки указанному выше.
Также подобные значения проявляются и в конечном значении массива при неверном использовании переменной-счетчика. Т.к. конечное значение этой переменной на +1 выше номера ячейки массива:
Сначала инициализируется ячейка с текущим значением счетчика, а за тем значение счетчика увеличивается на 1.
Далее следуют два исправленных варианта кода
с процедурой
без процедуры
vedro-compota
Sun, 12/20/2020 - 17:02
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)