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

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

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

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

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

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

Создать новый одномерный массив, состоящий из отрицательных элементов данного массива 3х3 в заданной матрицы - C++
Создать новый одномерный массив, состоящий из отрицательных элементов данного массива 3х3 в заданной матрицы. Пожалуйста,...

Дан двумерный массив. Сформировать одномерный массив из элементов заданного массива, расположенных под побочной диагональю. - C++
Дан двумерный массив размером n x n. Сформировать: Одномерный массив из элементов заданного массива, расположенных под побочной...

Получить одномерный массив из из отрицательных элементов матрицы. Поменять местами первый и последний элемент - C++
1 2 -3 -0.5 7 0.1 -1.7 13 -18.5 Я составил начало программы, но возникла проблема с выводом одномерного массива. ...

Дан двумерный массив, вычислить произведение отрицательных элементов, заменить этим числом элементы второй строки матрицы - C++
написала программу, считает только произведение, надо оформить в виде функции

Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над главной диагональю. - C++
помогите решить=)Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над ...

Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) - C++
Две задачи, которые нужно реализовать на c++ в борланде. Вот первая (по одномерному массиву): В массиве А(n) найти и напечатать номера...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
19.01.2014, 23:20 #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;
}
1
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.01.2014, 23:27 #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];
зачем выделение памяти по заранее известное количество элементов?
1
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
19.01.2014, 23:34 #4
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
зачем выделение памяти по заранее известное количество элементов?
Идиотская привычка писать универсально, на случай а что если потом придется менять, знаю что глупо... Но сначала сделаю потом ...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 23:34
Привет! Вот еще темы с ответами:

Дан двумерный массив размерностью 4*5. Сформировать одномерный массив - C++
Дан двумерный массив размерностью 4*5, заполненный целыми числами с клавиатуры. Сформировать одномерный массив каждый элемент которого...

Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов - C++
Помогите, пожалуйста. Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов.

Сформировать одномерный массив как сумму отрицательных элементов строк матрицы - C++
Сформировать одномерный массив как сумму отрицательных элементов строк матрицы. Тип элементов матрицы – целый , n*m-7*5. Помогите...

Сформировать одномерный массив, состоящий из произведений отрицательных элементов четных строк матрицы - C++
Помогите, я сделала программу на делфи - работает, переделала на си не работает, помогите что бы выводилось.. ЗАДАНИЕ: Сформировать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.01.2014, 23:34
Ответ Создать тему
Опции темы

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