Перевести код с 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;
- }
Объяснение кода листинга программы
- Вводится количество строк и столбцов матрицы с помощью функции scanf.
- С помощью функции malloc выделяется память под массив указателей на int, который будет представлять собой матрицу.
- В цикле for производится выделение памяти под каждый элемент матрицы.
- Внутренний цикл заполняет матрицу случайными числами от 0 до 99 с помощью функции rand().
- Внешний цикл находит максимальное значение в матрице и запоминает индексы строки и столбца, в которых оно было найдено.
- Выводится сообщение с максимальным значением и его индексами.
- Внутренний цикл for освобождает память, выделенную под каждый элемент матрицы.
- Освобождается память, выделенная под массив указателей на int.
- Функция return завершает работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д