Всех приветствую. Хочу попросить помощи изменить код. Нужно изменить код , превратив часть кода в функцию. Я пытлася сделать это сам, но что-то не получилось, а дедлайн уже утром. Прошу помогите
#include <iostream>
#include <ctime> // в ней функция time
#include <vector>
#include <stdio.h>
using namespace std;
//добавить функцию
int main()
{
srand(time(NULL)); // Инициализируем генератор случайных чисел.
int n = 0;
int m =0;
cin >> n; // Считываем с клавиатуры n
cin >> m;
int **a = new int* [n]; // Создаем массив указателей
int **b = new int* [m]; // Создаем массив указателей
for (int i = 0; i < n; i++)
{
a[i] = new int [n]; // Создаем элементы
}
for (int j = 0; j < m; j++)
{
b[j] = new int [m]; // Создаем элементы
}
// А дальше работа как с обычным массивом.
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
cout << a[i][j] << " "; // Вывести элементы на консольку
}
cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли
}
//НАЧАТЬ ЗАМЕНЯТЬ ОТСЮДА
int i,j,l,i1,i2,j1,j2,k,kmax=0,imax,all=0,found,found2;
for (i=0; i<n*m-1; i++) {
found = 1; //надо ли искать "вниз" от текущего элемента
i1 = i/m; j1 = i%m;
for (l=0; l<i; l++) { //если раньше был такой элемент - искать с него не надо
i2 = l/m; j2 = l%m;
if (a[i1][j1]==a[i2][j2]) { found = 0; break; }
}
if (found) {
found2 = 0; //найдено ли "вниз" от текущего элемента
for (j=i+1; j<n*m; j++) { //ищем после элемента такие же по значению
i2 = j/m; j2 = j%m;
if (a[i1][j1]==a[i2][j2]) {
all++; found2 = 1;
}
}
if (found2) all++;
}
//ищем макс.количество повторов в строке kmax
k = 0;
for (j=0; j<m; j++) if (a[i1][j]==a[i1][j1]) k++;
if (k>kmax) { kmax = k; imax = i1; }
}
if (all>0) {
printf ("\nВсего элементов с повторами значений: %d\
\nСтрока с наибольшим числом одинаковых: ",all);
for (j=0; j<m; j++) printf ("%d ",a[imax][j]);
}
else printf ("\nНет повторов!");
getchar();
//КОНЕЦ ФУНКЦИИ
// Удаление массива
for (int i = 0; i < n; i++)
{
delete[]a[i]; // Удаляем каждый элемент
}
delete [] a; // А потом массив
return 0;
}
C/C++
Изменить программу c++
#include
#include // в ней функция time
#include
#include
using namespace std;
//добавить функцию
void foo(int** a, int n, int m)
{
int i, j, l, i1, i2, j1, j2, k, kmax = 0, imax, all = 0, found, found2;
for (i = 0; i < n * m - 1; i++) {
found = 1; //надо ли искать "вниз" от текущего элемента
i1 = i / m; j1 = i % m;
for (l = 0; l < i; l++) { //если раньше был такой элемент - искать с него не надо
i2 = l / m; j2 = l % m;
if (a[i1][j1] == a[i2][j2]) { found = 0; break; }
}
if (found) {
found2 = 0; //найдено ли "вниз" от текущего элемента
for (j = i + 1; j < n * m; j++) { //ищем после элемента такие же по значению
i2 = j / m; j2 = j % m;
if (a[i1][j1] == a[i2][j2]) {
all++; found2 = 1;
}
}
if (found2) all++;
}
//ищем макс.количество повторов в строке kmax
k = 0;
for (j = 0; j < m; j++) if (a[i1][j] == a[i1][j1]) k++;
if (k > kmax) { kmax = k; imax = i1; }
}
if (all > 0) {
printf("\nВсего элементов с повторами значений: %d\
\nСтрока с наибольшим числом одинаковых: ", all);
for (j = 0; j < m; j++) printf("%d ", a[imax][j]);
}
else printf("\nНет повторов!");
getchar();
}
int main()
{
srand(time(NULL)); // Инициализируем генератор случайных чисел.
int n = 0;
int m = 0;
cin >> n; // Считываем с клавиатуры n
cin >> m;
int** a = new int* [n]; // Создаем массив указателей
int** b = new int* [m]; // Создаем массив указателей
for (int i = 0; i < n; i++)
{
a[i] = new int[n]; // Создаем элементы
}
for (int j = 0; j < m; j++)
{
b[j] = new int[m]; // Создаем элементы
}
// А дальше работа как с обычным массивом.
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
cout
Александр Малунов
Благодарю
Похожие вопросы
- Составить программу c++ срочно пожалуйста
- Остановка программы c++
- Как уменьшить время работы программы? C++
- Составить программу C++, с помощью switch/case
- Написание программы C++ Массивы
- Написать программу. C++
- Помогите написать программу C++
- Помогите, пожалуйста, написать программу C++!
- Написать программу C++
- Неправильный вывод программы C++