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

Разделить двухмерный массив на два линейных - с положительными и отрицательными числами - C++

Восстановить пароль Регистрация
 
Anonim107
-22 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 90
06.03.2014, 09:33     Разделить двухмерный массив на два линейных - с положительными и отрицательными числами #1
Создать заданный массив 10 на 10 элементов содержащие положительные и отрицательные числа.Создать 2 массива одномерных в которых находится отрицательные а в другом положительные.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 09:33     Разделить двухмерный массив на два линейных - с положительными и отрицательными числами
Посмотрите здесь:

C++ Заполнение одномерного массива и положительными, и отрицательными числами
C++ Прямоугольную матрицу размером м на н заполнить случайными положительными и отрицательными числами
Массив: Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой C++
Заполнение очереди положительными и отрицательными числами C++
Заполнить массив первыми N положительными нечетными числами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.03.2014, 11:30     Разделить двухмерный массив на два линейных - с положительными и отрицательными числами #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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <iomanip>
 
int main()
{
    srand(time(0));
    const int S = 10;
    int arr[S][S], negative = 0, positive = 0;
    for(int i = 0; i < S; i++)
    {
        for(int j = 0; j < S; j++)
        {
            arr[i][j] = 100 - rand() % 200;
            if(arr[i][j] < 0)
                negative++;
            else
                positive++;
            std::cout << std::setw(4) << arr[i][j];
        }
        std::cout << "\n\n";
    }
    
    int* nArr = new int[negative];
    int* pArr = new int[positive];
    
    negative = positive = 0;
    
    for(int i = 0; i < S; i++)
    {
        for(int j = 0; j < S; j++)
        {
            if(arr[i][j] < 0)
            {
                nArr[negative] = arr[i][j];
                negative++;
            }
            else
            {
                pArr[positive] = arr[i][j];
                positive++;
            }
        }
    }
    
    std::cout << "\nNegative array: ";
    for(int i = 0; i < negative; i++)
        std::cout << std::setw(4) << nArr[i];
    
    std::cout << "\n\nPositive array: ";
    for(int i = 0; i < positive; i++)
        std::cout << std::setw(4) << pArr[i];
    
    std::cout << "\n\n";
    
    delete [] nArr, pArr;
    
    system("pause");
    return 0;
}
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
06.03.2014, 11:30     Разделить двухмерный массив на два линейных - с положительными и отрицательными числами #3
И в чем проблема, Anonim107?
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
06.03.2014, 11:58     Разделить двухмерный массив на два линейных - с положительными и отрицательными числами #4
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
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
using namespace std;
 
void show(int &b1)
{
    cout<<setw(5)<<b1;
}
int main()
{
setlocale(LC_ALL,"Russian");
srand(time(0));
vector <vector <int> > ::iterator iter;
vector <int> ::iterator iter_2;
vector <int> b;
vector <int> c;
vector <vector <int> > a(10 , vector <int> (10) );
    for (int i=0;i<a.size();i++)
    {
    int j=0;
        for (iter_2=a[i].begin();iter_2!=a[i].end();iter_2++,j++)
        {
        a[i][j]=-20+rand()%40;
            if (a[i][j]>0)
            b.push_back(a[i][j]);
            else
            c.push_back(a[i][j]);
        cout<<setw(5)<<a[i][j];
        }
    cout<<endl;
    }
cout<<"\nB:\n";
for_each(b.begin(),b.end(),show);
cout<<"\nC:\n";
for_each(c.begin(),c.end(),show);
}
Yandex
Объявления
06.03.2014, 11:58     Разделить двухмерный массив на два линейных - с положительными и отрицательными числами
Ответ Создать тему
Опции темы

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