Переписать код с Паскаля на Си - C (СИ)

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

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

Помогите пожалуйста переписать код на Си может кто умеет
uses crt;
const n=6;
var a,b:array[1..n,1..n] of real;
    i,j,k,l:byte;
    max:real;
begin
clrscr;
randomize;
writeln('Matrica A:');
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=10*random;
        write(a[i,j]:5:2);
      end;
    writeln;
    end;
writeln('Matrica B;');
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        max:=a[i,1]; {за макс принимаем верхний левый элемент прямоугольника}
        for k:=i to n do {идем по прямоугольнику от строки до конца}
        for l:=1 to j do {и от начала до столбца}
        if a[k,l]>max then max:=a[k,l];{находим макс}
        b[i,j]:=max;{записываем}
        write(b[i,j]:5:2);
      end;
    writeln;
  end;
readln
end.

Решение задачи: «Переписать код с Паскаля на Си»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define N 6
 
int
main(void)
{
    double a[N][N], b[N][N], max;
    int i, j, k, l;
    time_t t;
 
    srand((unsigned) time(&t));
 
    printf("Matrix A:\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++) {
            a[i][j] = (double) rand() / RAND_MAX;
            printf("%5.3f ", a[i][j]);
        }
        printf("\n");
    }
 
    printf("Matrix B:\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++) {
            max = a[i][0];
            for (k = i; k <  N; k++)
            for (l = 0; l <= j; l++)
                if (a[k][l] > max)
                    max = a[k][l];
            b[i][j] = max;
            printf("%5.3f ", b[i][j]);
        }
        printf("\n");
    }
    return 0;
}

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

  1. В коде используется язык программирования C.
  2. Задачей программы является переписывание кода с Паскаля на Си.
  3. В коде определена константа N, которая равна 6.
  4. В массиве a[N][N] хранятся случайные значения, которые генерируются функцией rand().
  5. В массиве b[N][N] хранятся максимальные значения из массива a[N][N].
  6. Функция main() является точкой входа в программу.
  7. С помощью функции srand() инициируется генератор случайных чисел.
  8. С помощью цикла for и функции printf() выводятся значения массива a[N][N].
  9. С помощью цикла for и функции printf() выводятся значения массива b[N][N].
  10. В цикле for используются переменные i, j, k, l.
  11. Переменная max инициализируется значением a[i][0].
  12. В цикле for перебираются все элементы массива a[N][N].
  13. Если элемент a[k][l] больше max, то max обновляется этим значением.
  14. Значение max сохраняется в массиве b[i][j].
  15. Функция printf() используется для вывода значений массива b[N][N].
  16. В конце программы возвращается 0, что означает успешное выполнение программы.

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


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

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

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