Скопировать элементы файла в квадратную матрицу размером - PascalABC.NET

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

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

Дан типизированный файл, содержащий символы. Скопировать элементы этого файла в квадратную матрицу размером n×n (если элементов файла недостает, заполнить оставшиеся элементы матрицы символом «точка»). Поменять местами в каждой строке минимальный и максимальный элементы.

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

textual
Листинг программы
  1. var f:file of char;
  2.     a:array[,] of char;
  3.     c:char;
  4.     n,i,j,k,jmx,jmn: integer;
  5. begin
  6. //создадим типизированный файл
  7. assign(f,'SPISOK');//файл в папке с программой
  8. rewrite(f);
  9. writeln('Введите в файл не менее 4 символов, окончание ввода 0');
  10. i:=0;
  11. repeat
  12. readln(c);
  13. inc(i);
  14. write(f,c);
  15. until(i>3)and(c='0');
  16. reset(f);
  17. n:=filesize(f);
  18. while frac(sqrt(n))<>0 do n:=n+1;
  19. n:=round(sqrt(n));
  20. setlength(a,n,n);
  21. k:=0;
  22. writeln('Исходная матрица');
  23. for i:=0 to n-1 do
  24.  begin
  25.   for j:=0 to n-1 do
  26.    begin
  27.     k:=k+1;
  28.     if k<filesize(f) then read(f,a[i,j])
  29.     else a[i,j]:='.';
  30.     write(a[i,j]:2);
  31.    end;
  32.   writeln;
  33.  end;
  34. close(f);
  35. for i:=0 to n-1 do
  36.  begin
  37.   jmn:=0;
  38.   jmx:=0;
  39.   for j:=1 to n-1 do
  40.    begin
  41.     if a[i,j]<a[i,jmn] then jmn:=j;
  42.     if a[i,j]>a[i,jmx] then jmx:=j;
  43.    end;
  44.   c:=a[i,jmn];
  45.   a[i,jmn]:=a[i,jmx];
  46.   a[i,jmx]:=c;
  47.  end;
  48. writeln('Обмен минимального и максимального в строках');
  49. for i:=0 to n-1 do
  50.  begin
  51.   for j:=0 to n-1 do
  52.   write(a[i,j]:2);
  53.   writeln;
  54.  end;
  55. end.

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

Список действий в коде:

  1. Создание файла и его открытие для записи.
  2. Ввод данных в файл с помощью цикла и операции чтения.
  3. Закрытие файла после ввода всех данных.
  4. Определение размера файла и вычисление квадратного корня из этого значения.
  5. Создание квадратной матрицы с помощью операции присваивания и операции чтения из файла.
  6. Вывод исходной матрицы на экран с помощью двойного цикла и операции вывода.
  7. Обмен минимального и максимального значения в каждой строке матрицы с помощью двойного цикла и операции обмена значений.
  8. Вывод обновленной матрицы на экран с помощью операции вывода.
  9. Закрытие программы.

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


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

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

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

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

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

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