impressive_i

Array Dynamic Addition

Apr 15th, 2020
288
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program ArrayDynamic;
  2.  
  3. //Метод печати массива на экран
  4. procedure print(arr : array of integer);
  5. var i : integer;
  6. begin
  7.     for i := 0 to length(arr)-1 do write(' ', arr[i]);
  8.     writeln;
  9. end;
  10.  
  11. //Процедура сложения массивы
  12. procedure ArrayAddition(var arr_1, arr_2, arr_sum : array of integer; N1, N2 : integer);
  13. var i : integer;
  14. begin
  15.    if( N1 = N2) then
  16.       begin
  17.         for i := 0 to N1 do arr_sum[i] := arr_1[i] + arr_2[i];
  18.         print(arr_sum);  //Вывод массива arr_sum (cумма массивов arr_1 и arr_2)
  19.       end
  20.     else //Если N1 не равно N2, то массивы сложить нельзя из-за того что какие-то элементы не имеют пары
  21.       write('Невозможно сложить массивы из-за разного размера');
  22. end;
  23.  
  24. //генерирует числа в диапазоне [first; last]
  25. function getRandomNumber(first, last : integer): integer;
  26. begin
  27.   getRandomNumber := random(last - first + 1) + first;
  28. end;
  29.  
  30. //Объявление динамических массив
  31. var arr_1 : array of integer;
  32.     arr_2 : array of integer;
  33.     arr_sum : array of integer;
  34.     N1 : integer; //размер массива arr_1
  35.     N2 : integer; //размер массива arr_2
  36.      i : integer;  //индекс для массивов
  37. begin
  38.     Randomize;
  39.     {
  40.     write(' Введите размер 1-го массива: '); readln(N1);
  41.     write(' Введите размер 2-го массива: '); readln(N2);
  42.     }
  43.     N1 := 5;  N2 := 5;
  44.     SetLength(arr_1, N1); //выделяем память под N1 элементов для массива arr_1
  45.     SetLength(arr_2, N2); //выделяем память под N2 элементов для массива arr_2
  46.  
  47.     //Ввод массива arr_1
  48.     for i := 0 to Length(arr_1) - 1 do begin
  49.       // write('arr_1[',i,'] = '); readln(arr_1[i]);
  50.       // arr_1[i] := 2 * i + 1;
  51.       arr_1[i] := getRandomNumber(-10, 10); //генерируем случайное число в диапазоне -10 до 10
  52.     end;
  53.     //Ввод массива arr_2
  54.     for i := 0 to Length(arr_2) - 1 do begin
  55.       // write('arr_2[',i,'] = '); readln(arr_2[i]);
  56.       // arr_2[i] := i * i - 2 * i + 2;
  57.       arr_2[i] := getRandomNumber(-10, 10); //генерируем случайное число в диапазоне -10 до 10
  58.     end;
  59.  
  60.     print(arr_1);  //Вывод массива arr_1
  61.     print(arr_2);  //Вывод массива arr_2
  62.     SetLength(arr_sum, N1); //выделяем память под массив суммы
  63.     ArrayAddition(arr_1, arr_2, arr_sum, N1, N2); //вызываем метод сложение (может возникнуть fail)
  64. end.
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×