Проблема с выводом элемента(двувимерного масива) что встречаеться больше одного раза
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int val = 0;
int count = 0;
const int max = 4;
int arr[max][max];
double max1 = arr[0][0];
//Ввод элементов в массив
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
cin >> val;
arr[j][i] = val;
}
}
//Максимальний элемент массива
for (int i = 0; i < max; i++) {
for (int j = 0; j < max; j++) {
if (max1 < arr[i][j]) {
max1 = arr[i][j];
}
//Нахождения элемента (max1) который встречаеться больше одного раза
for (int i = 0; i < max; i++)
{
for (int j = 0; j < max; j++)
{
if (max1 == arr[i][j])
{
count++;
}
}
}
if (count > 1)
{
}
cout << max1;
}
}
}
Ответы (1 шт):
Автор решения: SunnyTamper
→ Ссылка
#include <iostream>
using namespace std;
int main()
{
int count, size;
cin >> size;
int** arr = new int*[size];
for (size_t i = 0; i < size; i++)
{
arr[i] = new int[size];
}
for (size_t i = 0; i < size; i++)
{
for (size_t j = 0; j < size; j++)
{
cin >> arr[i][j];
}
}
int max = arr[0][0];
for (size_t i = 0; i < size; i++)
{
for (size_t j = 0; j < size; j++)
{
if (max < arr[i][j])
{
max = arr[i][j];
count = 0;
}
if (max == arr[i][j])
count++;
}
}
if (count > 1) cout << max;
for (size_t i = 0; i < size; i++)
{
delete[] arr[i];
}
delete[] arr;
}
Если я правильно понял условие, вам нужно вывести максимальный элемент массива, если он встречается больше 1 раза. Если решение не подходит, сформулируйте конкретнее свой вопрос