Сформировать матрицу путем ввода с клавиатуры и с помощью ГСЧ - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Не могу вывести измененный массив
Листинг программы
  1. program g;
  2. uses crt;
  3. var
  4. z:array[1..10,1..10] of real;
  5. n,m,i,j:integer;
  6. s:real;
  7. begin
  8. randomize;
  9. clrscr;
  10. write('колличество строк-');
  11. readln(n);
  12. write('колличество стобцов-');
  13. readln(m);
  14. for i:=1 to n do
  15. for j:=1 to m do
  16. z[i,j]:= int (random*30-15);
  17. writeln;
  18. writeln('матрица a');
  19. for i:=1 to n do
  20. begin
  21. for j:=1 to m do
  22. write(z[i,j]:4:0);
  23. writeln
  24. end;
  25. readln;
  26. s:=4;
  27. read(z[i,j]);
  28. if i=4 then z[i,j]:=4;
  29. for j:=1 to 7 do
  30. begin
  31. s:=z[1,j];
  32. z[1,j]:=z[3,j];
  33. z[3,j]:=s;
  34. for i:=1 to n do
  35. write(z[i,j]:4:0);
  36. s:=7;
  37. readln(z[i,j]);
  38. end;
  39. end.

Решение задачи: «Сформировать матрицу путем ввода с клавиатуры и с помощью ГСЧ»

textual
Листинг программы
  1. program g;
  2. uses crt;
  3. const m=4;
  4.       n=7;
  5. var z:array[1..m,1..n] of real;
  6.     w,i,j:integer;
  7.     s:real;
  8. begin
  9. randomize;
  10. clrscr;
  11. writeln('Выберите способ заполнения массива');
  12. writeln('1-ввод с клавиатуры');
  13. writeln('2-случайным образом');
  14. repeat
  15. readln(w);
  16. until w in [1,2];
  17. case w of
  18. 1:for i:=1 to m do
  19.   for j:=1 to n do
  20.    begin
  21.     write('z[',i,',',j,']=');
  22.     readln(z[i,j]);
  23.    end;
  24. 2:for i:=1 to m do
  25.   for j:=1 to n do
  26.   z[i,j]:=-15+random*30;
  27. end;
  28. clrscr;;
  29. writeln('Исходный массив Z');
  30. for i:=1 to m do
  31.  begin
  32.   for j:=1 to n do
  33.   write(z[i,j]:6:1);
  34.   writeln
  35.  end;
  36. for j:=1 to n do
  37.  begin
  38.   s:=z[1,j];
  39.   z[1,j]:=z[3,j];
  40.   z[3,j]:=s;
  41.  end;
  42. writeln('Обмен 1 и 3 строк');
  43. for i:=1 to m do
  44.  begin
  45.   for j:=1 to n do
  46.   write(z[i,j]:6:1);
  47.   writeln
  48.  end;
  49. readln
  50. end.

Объяснение кода листинга программы

Этот код на языке Turbo Pascal представляет собой программу для формирования матрицы с помощью ввода с клавиатуры или случайным образом. В начале программы объявляются необходимые переменные: m (количество строк) и n (количество столбцов) массива z, а также переменные w, i и j для работы с индексами. Затем происходит инициализация генератора случайных чисел и очистка экрана. Далее выводится предложение для выбора способа заполнения массива, и пользователь приглашается ввести свой выбор с помощью функции readln. В зависимости от выбранного способа заполнения массива выполняется соответствующий код. Если выбран способ ввода с клавиатуры, то происходит последовательный запрос значений для каждой ячейки массива и их сохранение в массиве. Если выбран способ случайного заполнения, то каждая ячейка массива присваивается случайное число в диапазоне от -15 до 15. После этого происходит вывод исходного массива z с помощью цикла for и функции write. Затем выполняется обмен значениями в двух строках массива с помощью циклов for и переменной s. В конце программы выводится приглашение на ввод с клавиатуры и происходит очистка экрана.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы