С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Изменить матрицу так, чтобы в строках остались элементы, которые встречаются более одного раза, а другие заменить нулями - C++

03.01.2014, 17:06. Просмотров 410. Ответов 2
Метки нет (Все метки)

Условие:
Даны натуральные числа m, n (m, n <= 10) и целочисленную матрицу размера
m x n. Изменить матрицу так, чтобы в строках остались элементы, которые
встречаются более одного раза, а другие заменить нулями.
Решение:
Задача работает некорректно, не могу понять алгоритм работы, и как нужно её сделать. Помогите новичку пожалуйста.
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
#include <iostream>
#include <math.h>
using namespace std;
 
int main ()
{
    setlocale(0, "rus");
    double a[10][10];
    int i, j, n, m;
    cout << "Введите количество столбцов: ";
    cin >> n;
    cout << "Введите количество строк: ";
    cin >> m;
    cout << "Введите елементы массива: " << endl;
    for (i = 0; i < n; i++)
    for (j = 0; j < m; j++)
        cin >> a[i][j];
    for (j = 0; j < m; j++)
    {
        for (i = 0; i < n; i++)
        cout << a[i][j] << '\t';
        cout << endl;
    }
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
         if (a[i][j] = a[i][j] || a[i][j] != 0)
             a[i][j] = a[i][j];
         else
             if (a[i][j] != a[i][j])
                 a[i][j] = 0;
    cout << endl;
        }
    for (j = 0; j < m; j++)
    {
    for (i = 0; i < n; i++)
        cout << a[i][j] << '\t';
        cout << endl;
    }
    system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2014, 17:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменить матрицу так, чтобы в строках остались элементы, которые встречаются более одного раза, а другие заменить нулями (C++):

Найти все элементы массива, которые встречаются в нем не более одного раза - C++
Нужна помощь. Задание такого : в двумерном массиве А найти все элементы, которые встречаются в нем не более одного раза и записать эти...

Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор - C++
Все элементы вектора V,которые встречаються более одного раза ,переписать в другой вектор. Задача на С++ помогите решить.

Упорядочить массив так, чтобы вначале были элементы встречающиеся более одного раза - C++
Условие: есть неупорядоченный массив, нужно упорядочить его таки образом, чтобы вначале были элементы встречающиеся более одного раза. ...

Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Одномерный массив А состоит из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Исключить из файла все слова, которые встречаются более одного раза - C++
Найти в файле f все слова которые встречаются более одного раза исключить их с файла f и получить файл новый q.Плиз

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

2
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
03.01.2014, 19:23 #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
#include <iostream>
#include <math.h>
using namespace std;
 
int main ()
{
    setlocale(0, "rus");
    int a[10][10];
    int i, j, n, m;
    cout << "Ââåäèòå êîëè÷åñòâî ñòîëáöîâ: ";
    cin >> n;
    cout << "Ââåäèòå êîëè÷åñòâî ñòðîê: ";
    cin >> m;
    cout << "Ââåäèòå åëåìåГ*ГІГ» Г¬Г*Г±Г±ГЁГўГ*: " << endl;
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
            cin >> a[i][j];
    for (j = 0; j < n; j++)
    {
        for (i = 0; i < m; i++)
            cout << a[j][i] << ' ';
        cout << endl;
    }
    bool flag;
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
        {
            flag = false;
            for (int k=0; k<m; k++)
            {
                if (j!=k && a[i][j]==a[i][k])
                {
                    flag = true;
                    break;
                }
            }
            if (!flag)
               a[i][j] = 0;
        }
    }
    for (j = 0; j < n; j++)
    {
        for (i = 0; i < m; i++)
            cout << a[j][j] << ' ';
        cout << endl;
    }
    return 0;
}
1
WindRunn3r
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 1
19.01.2016, 19:52 #3
Безменов?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2016, 19:52
Привет! Вот еще темы с ответами:

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

Многомерные массивы. Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Одномерный массив А состоит из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Помогите. Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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