Перевести с паскаля в си - C (СИ) (75762)
Формулировка задачи:
Не могу перевести на си .
program Project1; uses crt; const N0=100; Var A: Array[1..N0, 1..N0] Of Integer; M: Integer; i, j, k, N: Byte; begin Repeat Write(' N = '); Read(N); Until (N In [1..100]); Randomize; For i:=1 To N Do Begin For j:=1 To N Do Begin A[i, j]:=Random(100); Write(A[i, j]:4); End; WriteLn; End; writeln; For i:=1 To N-1 Do For j:=i+1 To N Do if (A[i,n-i+1]<A[j,n-j+1]) Then Begin M:=A[i,n-i+1]; A[i,n-i+1]:=A[j,n-j+1]; A[j,n-j+1]:=M; End; For i:=1 To N Do Begin For j:=1 To N Do Write(A[i, j]:4); WriteLn; End; end.
Решение задачи: «Перевести с паскаля в си»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> #include <vcl.h> void main() { const N0=100; int A[N0][N0]; int M; unsigned int i, j, k, N; do { clrscr(); printf(" N = "); scanf("%d",&N); }while (N>N0||N<1); Randomize(); for(i=0;i<N;i++) { for(j=0;j<N;j++) { A[i][j]=random(N0); printf("%d",A[i][j]); } printf("\n"); } printf("\n"); for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if (A[i][N-i+1]<A[j][N-j+1]) { M=A[i][N-i+1]; A[i][N-i+1]=A[j][N-j+1]; A[j][N-j+1]=M; } for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%d",A[i][j]); printf("\n"); } return; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
, , , , . - Объявляем переменные: N0 (константа), A (массив), M (переменная), i, j, k, N (переменные для цикла).
- Входим в бесконечный цикл, который будет выполняться до тех пор, пока не будет введено число N в допустимом диапазоне.
- Очищаем экран и запрашиваем у пользователя ввод числа N.
- Инициализируем массив A случайными числами от 0 до N0.
- Выводим на экран полученную матрицу A.
- Сортируем матрицу A по второму столбцу (N-i+1) в порядке возрастания.
- Выводим на экран отсортированную матрицу A.
- Возвращаем управление.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д