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

Выбор всех ненулевых элементов двумерного массива в третий

21.10.2018, 22:37. Показов 1095. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выбор всех ненулевых элементов двумерного массива в третий. Ребят помогите срочно пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2018, 22:37
Ответы с готовыми решениями:

Выбор в новый массив всех ненулевых элементов одномерного заданнова массива
Гаспада зающее толк в этом деле, очень нуждаюся в ваше помощи ! Среда для разработки C++BUilder Разработать консольную программу выбора...

Логическое умножение массивов. Определение количества ненулевых элементов двумерного массива
Подскажите пожалуйста, как сделать две вещи : 1. Имеются два двумерных массива очень большой размерности, сильно разреженные, заполненные...

Вычислить сумму всех ненулевых элементов массива
как сделать так,чтобы четные цифры показывали(+),а не четные (*) в memo2? procedure TForm1.Button1Click(Sender: TObject); var ...

4
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
21.10.2018, 22:48
Цитата Сообщение от vlad1998ua Посмотреть сообщение
Выбор всех ненулевых элементов двумерного массива в третий.
vlad1998ua, здравствуйте! Предлагаю этим "третим" сделать вектор, так как если это будет динамический массив, придется сначала считать количество ненулевых элементов, потом создавать массив такой размерности и только потом помещать туда ненулевые элементы. К тому же, добавление элементов в вектор (с помощью push_back()) - относительно недорогая операция. Вот код:

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
#include <iostream> 
#include <vector>
 
    using namespace std;
 
int main() {
    int n;
    vector < int > v;
    cout << "Enter a matrix size:\n\n";
    cout << "n = ";
    cin >> n;
    int** a = new int*[n];
    for (int i = 0; i < n; i++) {
        a[i] = new int[n];
    }
    cout << "\nEnter a matrix:\n\n";
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> a[i][j];
            if (a[i][j] != 0) {
                v.push_back(a[i][j]);
            }
        }
    }
    cout << "\nOutput of the program:\n\n";
    if (v.size()) {
        for (int i = 0; i < v.size(); i++) {
            cout << v[i] << " ";
        }
    } else {
        cout << "There are no any non-zero elements!\n";
    }
    for (int i = 0; i < n; i++) {
        delete [] a[i];
    }
    delete [] a;
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 21.10.2018
Сообщений: 11
21.10.2018, 22:53  [ТС]
Цитата Сообщение от Fixer_84 Посмотреть сообщение
Предлагаю этим "третим" сделать вектор, так как если это будет динамический массив, придется сначала считать количество ненулевых элементов, потом создавать массив такой размерности и только потом помещать туда ненулевые элементы.
мне как раз это и надо было
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
21.10.2018, 22:59
vlad1998ua, вам нужна программа без вектора?

Добавлено через 4 минуты
vlad1998ua, кстати, элементы двумерного массива можно считывать по строкам или по столбцам.
0
98 / 64 / 36
Регистрация: 14.10.2018
Сообщений: 152
21.10.2018, 23:28
Пойдет?
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
#include <iostream>
 
int main() {
    const int n=2;
    const int m=3;
    int a[n][m];
    //Ввод массива
    for(int i=0;i!=n;++i) {
        for(int j=0;j!=m;++j) {
            std::cin>>a[i][j];
        }
    }
    //Считаем кол-во ненулевых элементов
    int k=0;
    for(int i=0;i!=n;++i) {
        for(int j=0;j!=m;++j) {
            if(a[i][j]!=0) {
                ++k;
            }
        }
    }
    int *b;
    if(k) {
        b = new int[k];
        int l=0;
        for(int i=0;i!=n;++i) {
            for(int j=0;j!=m;++j) {
                if(a[i][j]!=0) {
                    b[l] = a[i][j];
                    ++l;
                }
            }
        }
    }
    else
    {
        std::cout<<"Ненулевых элементов нет"<<std::endl;
    }
    if(k) {
        for(int i=0;i!=k;++i) {
            std::cout<<b[i];
        }
        delete[] b;
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.10.2018, 23:28
Помогаю со студенческими работами здесь

Увеличить значение всех ненулевых элементов массива на 5
Задать массив, состоящий из 7 вещественных чисел. Найти максимальный элемент массива. Увеличить значение всех ненулевых элементов...

Вычислить произведение всех ненулевых элементов массива
Вычислить произведение всех ненулевых элементов массива C. помогите плзз

Найти сумму всех ненулевых элементов массива
Используя циклы, создайте Паскаль программу для решения задачи. 1.Задан одномерный массив А. Найти сумму всех его ненулевых элементов....

Найти сумму квадратов всех ненулевых элементов одномерного массива
Решите, пожалуйста. Задан одномерный массив A. Найти сумму квадратов всех его ненулевых элементов. Размерность массива 20. Заполнение...

Найти сумму всех положительных и произведение всех отрицательных элементов двумерного массива
задачка №1. найти сумму всех положительных и произведение всех отрицательных элементов двумерного массива. Задачка №2. Найти сколько...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru