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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
#1

Количество повторов каждого из элементов матрицы - C++

18.03.2010, 17:45. Просмотров 457. Ответов 5
Метки нет (Все метки)

Пользователь вводит матрицу размерностью NxM из целых положительных чисел.
(Создайте функцию), которая считает количество повторов каждого элементов матрицы.
выведите элемент матрицы и количество его повторов на экран.

у меня проблемы с выводом- вместо количества повторов выводится что-то непонятное
помогите пожалуйста.
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
#include <iostream>
#define N 3
#define M 3
    using namespace std;
    int main (int argc, char const* argv[])
    {
        int A[N][M];
        int sravn[N][M];
        //ввод матрицы
        for (int i = 0;i<N;i++)
        {
            for (int j=0;j<M;j++ )
            {
                cin>>A[i][j];
            }
        }
        
        //вывод
        
        for (int i=0;i<N;i++)
        {
            for (int j=0;j<M;j++)
            {
                cout<<A[i][j]<<"\t";
            }
            cout<<"\n";
        }
        
 
        int goch;
        
        for( int i = 0; i < N; i ++ )
        {
            for( int j = 0; j < M; j ++ )
            {
                goch=A[i][j];
                for( int i = 0; i <N; i ++ )
                {
                    for( int j = 0; j < M; j ++ )
                    {
                        if(goch=A[i][j])
                        {
                            sravn[i][j]+=1;
                    
                        }
                    }
                }   
            }
        }
        
        
        
        for( int i = 0; i <N; i ++ )
        {
            for( int j = 0; j < M; j ++ )
            {
                cout<<"число "<<A[i][j]<<" имеет "<<sravn[i][j]<<" повторений \n";
            }
            
        }
        
        return 0;
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2010, 17:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество повторов каждого из элементов матрицы (C++):

Напечатать в столбик отдельные слова, и указать для каждого количество повторов в строке - C++
дана строка символов, которая состоит из отдельных слов, разделенных пробелом. нужно напечатать в столбик отдельные слова и указать для...

Для каждого столбца матрицы вычислить количество элементов, являющихся нечетными числами - C++
Дана целочисленная матрица. Для каждого столбца матрицы вычислить количество элементов, являющихся нечетными числами. Определить, будут ли...

Определить и напечатать количество положительных элементов для каждого столбца матрицы, и найти их сумму - C++
Определить и напечатать количество положительных элементов для каждого столбца матрицы, и найти их сумму

Получить новую матрицу путем вычитания от элементов каждого столбца первой матрицы суммы элементов соответствующих строк второй матрицы - C++
Даны две целочисленные квадратные матрицы 4-го порядка. Получить новую матрицу путем вычитания от элементов каждого столбца первой матрицы...

Подсчёт повторов каждого слова в set - C++
Прошу помочь с конкретным моментом реализации этой задачи. Как пройтись по всем словам, посмотреть, есть ли повторы данного слова и если...

Даны две целочисленные матрицы 4-го порядка. Получить новую * матрицу путем вычитания из элементов каждого столбца первой матрицы - C++
даны две целочисленные матрицы 4-го порядка. Получить новую матрицу путем вычитания из элементов каждого столбца первой матрицы сумму...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
18.03.2010, 18:03 #2
C++
1
2
3
4
5
 if(goch=A[i][j]) // goch=A[i][j] ???? ты тут немного ошибся goch == A[i][j]
                                                {
                                                        sravn[i][j]+=1;
                                        
                                                }
1
CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
18.03.2010, 21:09  [ТС] #3
да, но это не решает главную проблему
0
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
18.03.2010, 22:01 #4
Вот, надеюсь разберешься:
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
#include <iostream>
#include <iomanip>
using namespace std;
#define N 3
#define M 3
#define arraySize (N*M)+1
 
int main (int argc, char const* argv[])
        {
                int A[N][M];
                int sravn[N][M];
         int counter[arraySize]={0};
                //ввод матрицы
                for (int i = 0;i<N;i++)
                {
                        for (int j=0;j<M;j++ )
                        {
                                cin >> A[i][j];
                  ++counter[A[i][j]];
                        }
                }
                //вывод
                
                for (int i=0;i<N;i++)
                {
                        for (int j=0;j<M;j++)
                        {
                                cout << A[i][j]<< setw(2);
                                
                        }
                        cout<< "\n";
                }
                for(int i=1;i<arraySize;i++)
                {
                cout << setw(6) << i << '.' << setw(17) << counter[i] << endl;
                }
 
                
                return 0;
        }
1
CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
18.03.2010, 22:37  [ТС] #5
не разобрался, что происходит в этой строчке
C++
1
cout << setw(6) << i << '.' << setw(17) << counter[i] << endl;
не мог бы ты поподробнее обьяснить?
0
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
18.03.2010, 22:58 #6
setw(6) - я думаю знаешь это что такое(если нет, то это от начала курсора отступ 6 пробелов)
i - это значение 1,2,3,4,5,... ,т.е. используемые числа в массиве.
'.' - вывод точки :-)
setw(17) - отступ 17 пробелов
cunter[i] - это вывод количества одинаковых значений, где мы в строке 19 складывали повторяющиеся значения элементов массива A[i][j].
endl - перевод курсора на новую строку.

Если что то именно не понятно - напиши.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2010, 22:58
Привет! Вот еще темы с ответами:

Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы - C++
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы...

Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы A - C++
Матрица A (M кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого столбца левой половины и сумму элементов...

Найти сумму положительных элементов матрицы А, количество нулевых элементов матрицы B - C++
• Даны матрицы A, B. Найти сумму положительных элементов матрицы А, количество нулевых элементов матрицы B. • Упорядочить матрицу А по...

Почему неправильно считает количество повторений каждого элемента матрицы? - C++
Почему неправильно считает количество повторений каждого элемента матрицы? Помогите разобраться. #include &quot;stdafx.h&quot; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.03.2010, 22:58
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru