Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 13.04.2021
Сообщений: 49

Создать новую матрицу с тех столбцов матрицы которые не содержат числа 11 или 22

13.04.2021, 18:33. Показов 1974. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня задание такое: Ввести целочисленную матрицу 5 на 9 и создать новую матрицу с тех столбцов матрицы, которые не содержат числа 11 или 22.
Задание вроде бы не сложное, но почему то не выходит, если заменить числа 11 и 22 на нуль, то всё выходит.
Вот сам код:
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
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, ".1251");
    int a[5][9]; int i, j;
    cout << "Введите матрицу с 5-х строк и 9-ти столбцов:" << endl;
    for (i = 0; i < 5; i++)
        for (j = 0; j < 9; j++)
            cin >> a[i][j];
    cout << "Матрица а:" << endl;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 9; j++)
            cout << a[i][j] << "\t";
        cout << endl;
    }
 
    int col = 0;
    int r[9] = { 0 };
    for (j = 0; j < 9; j++)
    {
        for (i = 0; i < 5; i++)
            if (a[i][j] == 11 || a[i][j] == 22)r[j]++;
        if (r[j] == 11 || r[j] == 22)col++;
    }
    int** b = new int* [5];
    for (i = 0; i < 5; i++)
        b[i] = new int[col];
    int k = 0;
    for(j=0;j<9;j++)
        if (r[j]==11||r[j]==22)
        {
            for (i = 0; i < 5; i++)
                b[i][k] = a[i][j];
            k++;
        }
    cout << endl << "Столбцов в которых нету наших цифр: " << col;
    cout << "\nМатрица в которой нету наших цифр:" << endl;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < col; j++)
            cout << b[i][j] << "\t";
        cout << endl;
    }
    for (int i = 0; i < 5; i++)
        delete[]b[i];
    delete[]b;
    system("pause>>void");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2021, 18:33
Ответы с готовыми решениями:

Ввести целочисленную матрицу 3 × 9 и создать новую матрицу из тех столбцов введенной матрицы, которые содержат хотя бы
Ввести целочисленную матрицу 3 × 9 и создать новую матрицу из тех столбцов введенной матрицы, которые содержат хотя бы один элемент,...

Создать новую матрицу из тех столбцов введенной матрицы которые не содержат ни одного нуля
Помогите пожалуйста с решением. Ну что бы в конечном итоге выводилу матрицу без столбцов где есть 10 #include &quot;stdafx.h&quot; ...

Ввести матрицу 7 × 5 действительных чисел и создать новую матрицу из тех строк введенной матрицы, которые не содержат эл
Ввести матрицу 7 × 5 действительных чисел и создать новую матрицу из тех строк введенной матрицы, которые не содержат элементы,...

4
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.04.2021, 19:32
Лучший ответ Сообщение было отмечено KorzhEvgeniy как решение

Решение

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
#include <iostream>
using namespace std;
 
int main()
{
    const int n=5, m=9;
    int a[n][m], u=-1, k=0, p;
    
    cout << "Enter integer matrix " << n << "x" << m << ":\n";
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
            cin >> a[i][j];   
    
    for (int j = 0; j < m; j++)
    {
        p=0;
        for (int i = 0; i < n; i++)
            if (a[i][j] == 11 || a[i][j] == 22) {p=1;break;}
        if (p==0) k++;
    }   
    
    if(k)
    {
      int** b = new int* [n];
    for (int i = 0; i < n; i++)
        b[i] = new int[k];
        
    for (int j = 0; j < m; j++)
    {
        p=0;
        for (int i = 0; i < n; i++)
            if (a[i][j] == 11 || a[i][j] == 22) {p=1;break;}
        if (p==0)
        {
            u++;
        for (int i = 0; i < n; i++) 
            b[i][u] = a[i][j];            
        }
    }    
    
    cout << "\nNew matrix:\n";
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < k; j++)
            cout << b[i][j] << " ";
        cout << "\n";
    }
    for (int i = 0; i < n; i++)
        delete[]b[i];
    delete[]b;
    }
    else cout << "columns without 11 and 22 are absent\n";    
    
    system("pause");
    return 0;
}
Цитата Сообщение от KorzhEvgeniy Посмотреть сообщение
cout << endl << "Столбцов в которых нету наших цифр нет чисел 11 и 22: " << col;
    cout << "\nМатрица в которой нету наших цифрнет чисел 11 и 22: " << endl;
1
0 / 0 / 0
Регистрация: 13.04.2021
Сообщений: 49
13.04.2021, 21:00  [ТС]
Простите, но не могли бы вы сказать что мы делаем там где if(p==0)k++ - это значит то количество равно нулю?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.04.2021, 21:42
C++
1
2
3
4
5
6
7
8
9
10
11
int k=0, p;
 
for (int j = 0; j < m; j++)
    {
        p=0; // перед циклом по столбцу значение переменной p равно нулю
        for (int i = 0; i < n; i++)
            if (a[i][j] == 11 || a[i][j] == 22) {p=1;break;} // если в столбце нашли 11 или 22 
// присвоили переменной р значение 1 и вышли из внутреннего цикла по break
 
        if (p==0) k++; // если p=0 (в столбце числа 11 и 22 не найдены) увеличиваем значение переменной k на единицу 
    }
после завершения цикла значение переменной k равно количеству столбцов новой матрицы
0
0 / 0 / 0
Регистрация: 13.04.2021
Сообщений: 49
13.04.2021, 21:44  [ТС]
Спасибо огромное! Лучший)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2021, 21:44
Помогаю со студенческими работами здесь

Создать новую матрицу из тех строк заданной матрицы которые не содержат отрицательных элементов
Создать новую матрицу из тех строк заданной матрицы, которые не содержат отрицательных элементов.

Создать новую матрицу из тех столбцов заданной матрицы, которые не имеют элементы меньше 10-ти
Помогите, я совсем не понимаю как дальше ввести чтобы работало. #include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; ...

Создать новую матрицу из тех строк, которые не содержат ни одного элемента 7
Ввести целочисленную матрицу 7х3 и создать и создать новую матрицу из тех строк введённой матрицы, которые не содержат ни одного элемента...

Создать новую матрицу из столбцов, которые не содержат элементы из заданного диапазона
Ввести матрицу 3x8 действительных чисел и создать новую матрицу с тех столб- цев введенной матрицы, которые не содержат элементы из...

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех столбцов введенной матртцы, сумма которых...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru