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

0 голосов

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


спросил от Начинающий (205 баллов) в категории Информатика
2 Ответы
0 голосов
ответил от БОГ (150k баллов)
 
Лучший ответ
// 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
0 голосов
ответил от Одаренный (3.8k баллов)

//прога на 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 баллов)

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

оставил комментарий от Одаренный (3.8k баллов)

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

оставил комментарий от Одаренный (3.8k баллов)

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

оставил комментарий от Одаренный (3.8k баллов)

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

...