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

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

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

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. Получить одномерный массив из из отрицательных элементов матрицы.
Ответ Создать тему
Опции темы

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