Перевести код с C++ - C (СИ) (71946)

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

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

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n, max, str, stl,**Mas,i,j;
cout << "Vvedite kol-vo elementov po gorizontali, po vertikali:\n";
cin >> n;
Mas = new int*[n];
for (i = 0; i<n; i++)
Mas[i] = new int[n];
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
Mas[i][j]=rand()%100;
cout << Mas[i][j] << "\t";
}
cout << endl;
}
max=Mas[0][0];
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
if (Mas[i][j]>max)
{
max=Mas[i][j];
str=i+1;
stl=j+1;
}
}
}
cout << "\nMaximum: " << max << " Raspolojen v " << str << " stroke, stolbze " << stl << endl;
return 0;
}
Помогите перевести, пожалуйста.

Решение задачи: «Перевести код с C++»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n, max, str, stl,**Mas,i,j;
    printf("Vvedite kol-vo elementov po gorizontali, po vertikali:\n");
    scanf("%d", &n);
    Mas = (int **) malloc(n * sizeof(int *));
        for (i = 0; i<n; i++)
    Mas[i] = (int *) malloc(n * sizeof(int));
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            Mas[i][j]=rand()%100;
            printf("%d\t", Mas[i][j]);
        }
        printf("\n");
    }
    max=Mas[0][0];
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            if (Mas[i][j] > max)
            {
                max = Mas[i][j];
                str = i + 1;
                stl = j + 1;
            }
        }
    }
    printf("\nMaximum: %d  Raspolojen v %d stroke, stolbze %d\n", max, str, stl);
    for (i = 0; i < n; i++)
        free(Mas[i]);
    free(Mas);
    return 0;
}

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

  1. Вводится количество строк и столбцов матрицы с помощью функции scanf.
  2. С помощью функции malloc выделяется память под массив указателей на int, который будет представлять собой матрицу.
  3. В цикле for производится выделение памяти под каждый элемент матрицы.
  4. Внутренний цикл заполняет матрицу случайными числами от 0 до 99 с помощью функции rand().
  5. Внешний цикл находит максимальное значение в матрице и запоминает индексы строки и столбца, в которых оно было найдено.
  6. Выводится сообщение с максимальным значением и его индексами.
  7. Внутренний цикл for освобождает память, выделенную под каждый элемент матрицы.
  8. Освобождается память, выделенная под массив указателей на int.
  9. Функция return завершает работу программы.

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


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

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

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