вычислить сумму трех максимальных элементов массива 7х10 элементов
(имеется в виду что эти самые 3 макс. элемента не должны быть равны)
Другие языки программирования и технологии
небольшая задачка по С++, помогите, кому не лень
// _69791589
#include <iostream>
#include <ctime>
#define N 7
#define M 10
using namespace std;
int main()
{
srand((unsigned) time(NULL));
int a[N][M];
int index1row, index2row, index3row, index1col, index2col, index3col, max, min;
for (int n = 0; n < N; n++, cout << endl)
{
for (int m = 0; m < M; m++)
{
a[n][m] = rand();
cout << a[n][m] << '\t';
}
}
cout << endl;
min = max = a[0][0];
index1row = index2row = index3row = index1col = index2col = index3col = 0;
for (int k = 0; k < 3; k++)
{
for (int n = 0; n < N; n++)
{
for (int m = 0; m < M; m++)
{
if (min > a[n][m] && k == 0) min = a[n][m];
if (max < a[n][m] && k == 0)
{
max = a[n][m];
index1row = n;
index1col = m;
}
else if (max < a[n][m] && k == 1)
{
if (index1row == n && index1col == m) continue;
else
{
if (a[index1row][index1col] == a[n][m]) continue;
max = a[n][m];
index2row = n;
index2col = m;
}
}
else if (max < a[n][m] && k == 2)
{
if (index1row == n && index1col == m || index2row == n && index2col == m) continue;
else
{
if (a[index1row][index1col] == a[n][m] || a[index2row][index2col] == a[n][m]) continue;
max = a[n][m];
index3row = n;
index3col = m;
}
}
}
}
max = min;
}
cout << " Max_1 = " << "a[" << index1row << "][" << index1col << "] = " << a[index1row][index1col] << endl;
cout << " Max_2 = " << "a[" << index2row << "][" << index2col << "] = " << a[index2row][index2col] << endl;
cout << " Max_3 = " << "a[" << index3row << "][" << index3col << "] = " << a[index3row][index3col] << endl;
cin.get();
return 0;
}
#include <iostream>
#include <ctime>
#define N 7
#define M 10
using namespace std;
int main()
{
srand((unsigned) time(NULL));
int a[N][M];
int index1row, index2row, index3row, index1col, index2col, index3col, max, min;
for (int n = 0; n < N; n++, cout << endl)
{
for (int m = 0; m < M; m++)
{
a[n][m] = rand();
cout << a[n][m] << '\t';
}
}
cout << endl;
min = max = a[0][0];
index1row = index2row = index3row = index1col = index2col = index3col = 0;
for (int k = 0; k < 3; k++)
{
for (int n = 0; n < N; n++)
{
for (int m = 0; m < M; m++)
{
if (min > a[n][m] && k == 0) min = a[n][m];
if (max < a[n][m] && k == 0)
{
max = a[n][m];
index1row = n;
index1col = m;
}
else if (max < a[n][m] && k == 1)
{
if (index1row == n && index1col == m) continue;
else
{
if (a[index1row][index1col] == a[n][m]) continue;
max = a[n][m];
index2row = n;
index2col = m;
}
}
else if (max < a[n][m] && k == 2)
{
if (index1row == n && index1col == m || index2row == n && index2col == m) continue;
else
{
if (a[index1row][index1col] == a[n][m] || a[index2row][index2col] == a[n][m]) continue;
max = a[n][m];
index3row = n;
index3col = m;
}
}
}
}
max = min;
}
cout << " Max_1 = " << "a[" << index1row << "][" << index1col << "] = " << a[index1row][index1col] << endl;
cout << " Max_2 = " << "a[" << index2row << "][" << index2col << "] = " << a[index2row][index2col] << endl;
cout << " Max_3 = " << "a[" << index3row << "][" << index3col << "] = " << a[index3row][index3col] << endl;
cin.get();
return 0;
}
массив разворачиваешь в вектор и, например, так:
http://ideone.com/QBFpf
http://ideone.com/QBFpf
Похожие вопросы
- помогите по Palcal пожалуйста! небольшая задачка внутри
- кто может решить и кому не лень помогите с задачей по паскалю, сам плохо с двумерными массивами лажу
- Ребят. . насчет программирования вопрос. Кому не лень, помогите :3
- Нужно создать класс треугольник. Задание небольшое. Очень прошу помочь, кому не сложно
- Задачка по С++. Помогите плз
- Задачка для программистов. Поможете? Для программеров это проще простого (я знаю это), а вот я чёто не понимаю ваще.
- Кому не лень, найдите ошибку в программке ПОЖАЛУЙСТА?
- Помогите кому не сложно с С++
- помогите, кому не трудно, перевести с языка Pascal на язык СИ код программы
- Помогите решить задачку простенькую.