Форум программистов, компьютерный форум CyberForum.ru

В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза - C++

Восстановить пароль Регистрация
 
MaxSam
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 2
03.06.2014, 14:10     В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза #1
Нужно сделать задание
1.Консольный ввод/вывод целочисленного массива размером 5*5
2.Определение количества строк, не содержащих ни одного нулевого элемента
3.Определение максимального из чисел, встречающихся в заданной матрице более одного раза.

С консольным вводом/выводом я вроде как разобрался, а вот дальше не идет. Прошу помощи у знающих. Заранее благодарен.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
int a[5][5],k,s=0;
 
//1)
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
cin>>a[i][j];
 
for(int i=0;i<5;i++)
{for(int j=0;j<5;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 14:10     В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза
Посмотрите здесь:

найти максим знаение, встречающееся более одного раза C++
Найти максимальное число, встречающееся в заданном массиве только два раза C++
найти максимальное из чисел встречающихся в данном одномерном массиве более одного раза C++
Найти минимальное число, встречающееся в заданном векторе более одного раза C++
Задан одномерный массив, содержащий n элементов. Найти максимальное из чисел, встречающееся в массиве более одного раза C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GaRiCk7
 Аватар для GaRiCk7
3 / 3 / 1
Регистрация: 09.10.2013
Сообщений: 46
03.06.2014, 15:29     В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <iostream>
#include <locale>
#include <iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int const n = 3;
    int m[n][n];
 
    cout << "Введите матрицу: \n";
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            cout << "Введите элемент[" << i+1 << "][" << j+1 << "]: ";
            cin >> m[i][j];
        }
    }
 
    cout << "\n";
 
    cout << "Исходная матрица: \n";
    for(int i = 0; i < n; i++)
    {
        cout << endl;
        cout << "\t";
        for(int j = 0; j < n; j++)
        {
            cout << setw(3) << setiosflags(ios::left) << m[i][j] << " " ;
        }
    }
 
    cout << "\n\n";
 
    /*1)    количество строк, не содержащих ни одного нулевого элемента;*/
    
    int s = 0;
    for(int i = 0; i < n; i++)
    {
        int c = 0;
        for(int j = 0; j < n; j++)
        {
            if(m[i][j] == 0)
            {
                c++;
            }
        }
 
        if(c == 0)
            s++;
    }
 
    cout << "Kоличество строк, не содержащих ни одного нулевого элемента: " << s;
    cout << "\n\n";
 
    /*2)максимальное из чисел, встречающихся в заданной матрице более одного раза.*/
 
    int t=0, t1=0;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(m[i][j] == m[i][j+1])
            {
                t = m[i][j];
            }
 
            if(t1 > t)
                t = t1;
        }
 
        t1 = t;
    }
 
    cout << "Максимальное из встречающихся более 1 раза: " << t;
    cout << "\n\n";
 
    system ("pause");
    return 0;
 
 
}
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
03.06.2014, 15:29     В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза #3
C++
1
2
3
4
5
6
7
//2)
int not_zero_row_count = 0;
for(int i=0;i<5;i++){
int temp_count=0;
for(int j=0;j<5;j++)
if(a[i][j]!=0)temp_count=temp_count+1;
if(temp_count==0)not_zero_row_count=not_zero_row_count+1;}

Не по теме:

Больше безумия.

MaxSam
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 2
03.06.2014, 16:07  [ТС]     В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза #4
так то программа рабочая, но есть одно НО.
Во-первых, матрица 5*5, а не 3*3 - с этим я уже разобрался.
А во-вторых, нужно определить максимальное из чисел, встречающихся в заданной матрице более одного раза, а находит максимальное из чисел, встречающихся в одной из строк заданной матрицы - вот с этим мне разобраться сложнее.
Если кто знает, помогите
Yandex
Объявления
03.06.2014, 16:07     В двухмерном массиве найти строки, не содержащие нулей и максимальное число, встречающееся более одного раза
Ответ Создать тему
Опции темы

Текущее время: 04:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru