Паскаль. С использованием процедуры нужно составить массив, в котором только один элемент...

0 голосов
59 просмотров

Паскаль. С использованием процедуры нужно составить массив, в котором только один элемент не равен нулю. Если можно, то с объяснением, пожалуйста.


Информатика (205 баллов) | 59 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1374 от 10.01.2017
// Внимание! Если программа не работает, обновите версию!

procedure MyArray(n:integer;var a:array of integer);
begin
  a:=ArrFill(n,0); // заполняем массив нулями
  Randomize; // инициализируем датчик случайных чисел
  // в случайный элемент заносим слчайное значение
  a[Random(0,n-1)]:=Random(1,99)
end;

begin
  var n:=ReadInteger('n='); // читаем с клавиатуры размер массива
  var mas:array of integer;
  MyArray(n,mas); // вызываем процедуру
  mas.Println // выводим сформированный массив
end.


Пример
n= 21
0 0 0 0 0 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0
(150k баллов)
0 голосов

//прога на Pascal`e

var
  n, i: longint;
  a: array of longint;
//------------------------------------------------------------------------------------
procedure completeMAS (kolvo: longint; var mas: array of longint);
var i: longint;
begin
setLength (mas, kolvo);
  for i:=0 to kolvo-1 do
  mas[i]:=0;
mas[random (kolvo)]:=random (1000000)+1; 
end;
//-------------------------------------------------------------------------------------
begin
randomize;
readln (n);
completeMAS (n, a);

for i:=0 to n-1 do
write (a[i], '; ');
end.

(3.8k баллов)
0

Согласен, не правильно прочитал условие задачи. Каюсь!

0

Заново комментировать свою программу нет ни желания, ни смысла, т.к. товарищ сверху сделал это получше меня. Да и измененная моя прога копия описанной сверху.

0

Да, вы абсолютно правы - гусь свинье не товарищ! Потому, полечу пожалуй...

0

ЗЫ: Приятно было пообщаться ;-)