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

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

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

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. - C++

19.01.2014, 22:55. Просмотров 700. Ответов 3
Метки нет (Все метки)

Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения.
Дан двумерный массив 3х3.Получить одномерный массив из из отрицательных элементов матрицы.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 22:55     Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы.
Посмотрите здесь:

C++ Дан двумерный массив, вычислить произведение отрицательных элементов, заменить этим числом элементы второй строки матрицы
Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) C++
C++ Сформировать одномерный массив В, элементами которого являются номера первых отрицательных элементов каждой строки матрицы
Сформировать одномерный массив из номеров первых отрицательных элементов каждой строки матрицы C++
C++ Pаписать в одномерный массив B все номера отрицательных элементов, а в массив C номера не отрицательных
Создать новый одномерный массив, состоящий из отрицательных элементов данного массива 3х3 в заданной матрицы C++
C++ Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов
C++ Одномерный массив, элементы которого равны количеству отрицательных элементов в строках матрицы
C++ Получить одномерный массив из из отрицательных элементов матрицы. Поменять местами первый и последний элемент
Сформировать одномерный массив, состоящий из произведений отрицательных элементов четных строк матрицы C++
Сформировать одномерный массив как сумму отрицательных элементов строк матрицы C++
C++ Получить одномерный массив, хранящий произведение элементов восходящих диагоналей матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
19.01.2014, 23:20     Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. #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
#include <iostream>
using namespace std;
int main()
{
int i,j,k=0;
int **a= new int*[3];
for (i=0;i<3;i++)
{
    a[i]=new int[3];
    for (j=0;j<3;j++) cin>>a[i][j];
}
 
for (i=0;i<3;i++)
    for (j=0;j<3;j++) k+=(a[i][j]<0) ? 1:0;
if (k>0)
{
int *b =new int [k];
k=0;
for (i=0;i<3;i++)
    for (j=0;j<3;j++)
    if (a[i][j]<0)
    {
        b[k]=a[i][j];
        k++;
    }
/*Здесь код что делать с массивом b (вывести на печать или еще что)*/
delete [] b;
}
for (i=0;i<3;i++)
    delete [] a[i];
delete [] a;
return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.01.2014, 23:27     Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. #3
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    std::srand((size_t)(std::time)(nullptr));
    const size_t matrixSize(3);
 
    size_t negativeElementsCounter(0);
    int matrix[matrixSize][matrixSize];
    std::cout << "Matrix: " << std::endl;
    for (size_t i = 0; i < matrixSize; i++) {
        for (size_t j = 0; j < matrixSize; j++) {
            std::cout << std::setw(5) << (matrix[i][j] = std::rand() % 25 - 10);
            negativeElementsCounter += (matrix[i][j] < 0) ? 1 : 0;
        }
        std::cout << std::endl;
    }
 
    int *negativeElementsArray = new int [negativeElementsCounter];
    std::cout << "Array: " << std::endl;
    for (size_t i = 0, negativeElementsCounter = 0; i < matrixSize; i++) {
        for (size_t j = 0; j < matrixSize; j++) {
            if (matrix[i][j] < 0) {
                std::cout << (negativeElementsArray[negativeElementsCounter++] = matrix[i][j]) << ' ';
            }
        }
    }
    std::cout << std::endl;
    delete [] negativeElementsArray;
    negativeElementsArray = nullptr;
 
    std::system("pause");
    return 0;
}
Добавлено через 53 секунды
Цитата Сообщение от mustimur Посмотреть сообщение
C++
1
2
3
4
int **a= new int*[3];
for (i=0;i<3;i++)
{
* * a[i]=new int[3];
зачем выделение памяти по заранее известное количество элементов?
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
19.01.2014, 23:34     Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. #4
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
зачем выделение памяти по заранее известное количество элементов?
Идиотская привычка писать универсально, на случай а что если потом придется менять, знаю что глупо... Но сначала сделаю потом ...
Yandex
Объявления
19.01.2014, 23:34     Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы.
Ответ Создать тему
Опции темы

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