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

максимальный из элементов встречающийся в матрице более 1 раза - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка оператора ввода вывода http://www.cyberforum.ru/cpp-beginners/thread850615.html
Есть два хэдера(header.h и Array.h) и исполняемая программа main.cpp в которой я как раз и обращаюсь к оператору ввода Array.h #pragma once #include <iostream> #include "header.h" class Array: public Container{ private: char* data;
C++ Эти треугольники являются подобными числа a и b выражают длинны катетов одного прямоугольного треугольника,с и d - другого. Эти треугольники являются подобными. помогите в этих программах я 0 http://www.cyberforum.ru/cpp-beginners/thread850614.html
C++ Использование LAPACK на c++
Здравствуйте! Помогите разобраться с установкой LAPACk на проект c++. Нужно реализовать алгоритмы разложений матриц. Подкиньте рабочий проект, а я уж сам потом разберусь Заранее спасибо
Передача массива в функцию по ссылке C++
Здравствуйте. Есть функция: void f(int &a) { int *p=&a; p=1; } Но почему-то при попытке передать ей массив ругается дебаггер: ...|10|error: invalid initialization of non-const reference of type ‘int&’ from an rvalue of type ‘int*’| Как с этим справиться?
C++ Структура в стеке http://www.cyberforum.ru/cpp-beginners/thread850572.html
Я наверное уже всех задолбал со своим стеком, но всё же мне еще нужна помощь)) Код, который ниже должен запрашивать у пользователя ввод структуры, которая после помещается в стеке. Так же программа может этот стек выводить и для сохранения информации я сохраняю этот стек в другом стеке :) . Но при компиляции выдает ошибку в выводе: 'class std::stack<Football>' has no member named 'fio'| и так...
C++ Работа с указателями Расскажите как работает каждая строка в коде char *A = "123456789"; unsigned B = 1; char *X = A + B; char *Y = A - (- B); подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4390 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
05.05.2013, 11:17     максимальный из элементов встречающийся в матрице более 1 раза
Туся111, вот вариант в Вашем стиле:
Кликните здесь для просмотра всего текста
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
86
87
88
89
90
91
92
93
94
#include <iostream>
 
using namespace std;
 
int main() // головная программа
{
    setlocale (0, "Rus"); // русский язык
    int a;
    do
    {
        int count=0; // счетчик
        int count1=0;
        int n; // переменая для количества строк
        int m; //переменая для количества столбцов
        cout<<"введите количество строк"<<endl;
        cin>>n;// вводим кол строк
        cout<<"введите количество столбцов"<<endl;
        cin>>m;// водим количество столбцов
        int**mass=new int*[n]; // динамическое
        for (int i=0; i<n; i++) // выделение
        mass[i]=new int[m]; // памяти под массив
        cout<<"введите элементы массива"<<endl;
        for (int i=0; i<n; i++)
        {
            for (int j=0; j<m; j++)
            {
                cin>>mass[i][j];// водим массив
            }
        }
        for (int i=0; i<n; i++)
        {
            for (int j=0; j<m; j++)
            {
                if (mass[i][j]==0)// если не равно 0 тогда....
                {
                    count1++;//нарастили счетчик
                }
            }
            if (!count1)// если коли. нулевых элементов в массиве равно количество строк тогда
            {
            count++;// нарастили счетчик
            }
            count1=0;// обнулили счетчик
        }
        cout<<"количество строк не содержащие нулевые эжлементы "<<count<<endl;// выводим результат
        for(int c=1;c<=(n*m);c++)//колличество проходов
        {
        //в строках упорядочиваем
        //____________________________________________
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m-1;j++)
                {
                    if(mass[i][j]>mass[i][j+1])
                    {
                        int temp=mass[i][j];
                        mass[i][j]=mass[i][j+1];
                        mass[i][j+1]=temp;
                    }
                }
            }
        
        //в столбах упорядочиваем
        //_____________________________________________
            for( int i=0;i<n-1;i++)
            {
                for( int j=0;j<n;j++)
                {
                    if(mass[i][j]>mass[i+1][j])
                    {
                        int temp=mass[i][j];
                        mass[i][j]=mass[i+1][j];
                        mass[i+1][j]=temp;
                    }
                }
            }
        }
        //вывод на экран после сортировки
        //__________________________________________________________
 
        cout<<"После сортировки по возрастанию""\n\n\n\n";
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cout<<mass[i][j]<<"\t";
            }
            cout<<"\n\n\n\n";
        }
        cout << "Повторить нажми 0" << endl; // вывод сообщения на экран
        cin>> a;
    }
    while(a==0);
}

Главная ошибка у Вас была в том, что индексация массивов в С++ идет с нуля, а не с единицы.
Однако, ни о каком поиске максимальных повторяющихся значений тут речи пока не идет.
Если исправленный вариант кода устроит, можно уже прикручивать поиск максимумов. Если нет, то я бы не стал мешать несколько задач в кучу. Сначала надо разобраться с чем-то одним.
P.S. Не забывайте использовать для оформления кода соответствующие теги.
 
Текущее время: 02:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru