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

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

13.04.2021, 18:33. Показов 1943. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru