Номер первого по порядку нулевого элемента одномерного массива - PascalABC.NET
Формулировка задачи:
Помогите, пожалуйста, с решением. Нужно использовать подпрограммы ввода-вывода массива (обязательно). Заранее благодарю.
Составьте программу, отыскивающую номер первого по порядку нулевого элемента одномерного массива W(N)
Решение задачи: «Номер первого по порядку нулевого элемента одномерного массива»
textual
Листинг программы
program pr;
type
arr = array of integer;
var
n, i, c: integer;
a: arr;
procedure fill(var x: arr);
var
j: integer;
begin
randomize;
for j := 0 to n-1 do
begin
x[j] := random(10); // диапазон заполнения ставь любой ( здесь от 0 до 9)
end;
end;
procedure show(var x: arr);
var
j: integer;
begin
for j := 0 to n-1 do
write(x[j]:3);
end;
procedure find(var x: arr; var index: integer);
var
j,cout: integer;
begin
cout:=0;
for j := 0 to n-1 do
if x[j] = 0 then
begin
cout:=cout+1;
index := j+1;
break;
end;
end;
begin
writeln('Введите размер массива');
readln(n);
setlength(a,n);
fill(a);
show(a);
find(a, c);
writeln;
if c>0 then
writeln('Номер первого по порядку нулевого элемента: ', c)
else writeln('Нулевых элементов нет');
end.
Объяснение кода листинга программы
Список действий в коде:
- Ввод размера массива с помощью функции readln().
- Вызов функции setlength() для выделения памяти под массив a с указанным размером.
- Вызов функции fill() для заполнения массива a случайными целыми числами от 0 до 9.
- Вызов функции show() для вывода содержимого массива a на экран.
- Вызов функции find() для поиска первого по порядку нулевого элемента в массиве a и сохранения его номера в переменной c.
- Если c больше 0, то выводится сообщение с номером первого по порядку нулевого элемента. Если c равно 0, то выводится сообщение о том, что нулевых элементов нет.