Перевод программы с языка С# - C (СИ)

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

Кто разбирается перевидите программу на язык Си.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int m,n;
            do
            {
                Console.Clear();
                Console.Write("введи M:");
            } while (!int.TryParse(Console.ReadLine(), out m));
            do
            {
                Console.Clear();
                Console.WriteLine("M = " + m.ToString());
                Console.Write("введи N: ");
            } while (!int.TryParse(Console.ReadLine(), out n));
 
            Random rnd = new Random();
            int[,] matr = new int[m, n];
 
            Console.WriteLine("\nматрица");
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    matr[i, j] = rnd.Next(10);
                    Console.Write(matr[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            int max=matr[0,0], iMax=0;
 
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    if (matr[i, j] > max)
                    {
                        max = matr[i, j];
                        iMax = i;
                    }
                }
            }
 
            Console.WriteLine("\nта самая строка");
            for (int j = 0; j < n; j++)
            {
                Console.Write(matr[iMax, j] + " ");
            }
 
            Console.ReadKey();
        }
    }
}

Код к задаче: «Перевод программы с языка С# - C (СИ)»

textual
#include <stdio.h>
#include "time.h"
#include <stdlib.h>
 
int main(int argc, char **argv){
    int m, n, **matr, max, iMax=0;
    srand(time(NULL));
 
    do{
        printf("Enter M: ");
        scanf("%d", &m);
        printf("Enter N: ");
    }while(!scanf("%d", &n));
 
    matr=(int**)malloc(m*sizeof(int*));
 
    printf("\nMatrix:\n");
 
    for(int i=0;i<m;i++){
        matr[i]=(int*)malloc(n*sizeof(int));
 
        for(int j=0;j<n;j++){
            matr[i][j]=rand()%10;
            printf("%2d", matr[i][j]);
        }
        printf("\n");
    }
 
    max=matr[0][0];
 
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            if(matr[i][j]>max){
                max=matr[i][j];
                iMax=i;
            }
        }
    }
 
    printf("\nThis row: ");
 
    for(int j=0;j<n;j++){
        printf("%2d", matr[iMax][j]);
    }
 
    printf("\n");
 
    for(int i=0;i<m;i++){
        free(matr[i]);
    }
 
    free(matr);
 
    getchar();
 
    return 0;
}

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


СОХРАНИТЬ ССЫЛКУ