Tworzenie tablicy jednowymiarowej z tablicy dwuwymiarowej

0

Witam. Mam problem z zadaniem które wygląda nastepująco: Dana jest tablica prostokątna nxm liczb całkowitych. Utwórz trzy tablice jednowymiarowe, jedna zawiera liczby większe od zera, druga mniejsze a trzecia zera.
Przykład:
WEJSCIE :
2 3
[2, 0, -1]
[-4, 4, 6]
WYJSCIE:
2, 4, 6
-1, -4
0
Napisałem kod który tworzy tą tablice nxm ale nie potrafie wyciągajac z niej liczb ktore beda tworzyc tablice jednowymiarowa np tylko liczbami wiekszymi od 0. Ktoś potrafi pomóc?

#include <iostream>

using namespace std;

int n, m;


int main() {

    cout<<"Podaj liczbe wierszy: "; cin>>n;
    cout<<"Podaj liczbe kolumn: "; cin>>m;

    int tab[n][m];

    for (int i=0; i<n;i++)
        for(int j=0;j<m;j++)
        {
            cout<<"tab["<<i+1<<"]["<<j+1<<"]=";
            cin>>tab[i][j];
        }
    cout<<"Tablica wyglada nastepujaco: "<<endl;
    for (int i=0;i<n;i++)
    {
        cout<<endl;
        for (int j=0;j<m;j++)
            cout<<tab[i][j]<<" ";
    }

    cout<< endl;
    cout<< endl;

    cout<<"Liczby wieksze od zera: "<<endl;


    return 0;

}
2

Po kodzie wnoszę, że potrafisz przeszukiwać tablicę dwuwymiarową, w taki razie w trakcie jej przeglądania dodaj taki warunek:

if(tab[i][j] > 0)
   std::cout << tab[i][j] << " ";

Poza tym, taki zapis:

cout<<"Podaj liczbe wierszy: "; cin>>n;
cout<<"Podaj liczbe kolumn: "; cin>>m;

int tab[n][m];

jest niedozwolony w C++. Tutaj masz poprawną inicjalizacje http://www.algorytm.edu.pl/tablice-w-c/tablice-wielowymiarowe.html

0

Dzieki wielkie. Ja kombinowalem bo myslalem ze musze jakas tablice utworzyc z tych liczb dodatnich, ujemnych i rownych 0 a pozniej te tablice wyswietlic a to wystarczylo wypisac te liczby podajac konkretny warunek

1 użytkowników online, w tym zalogowanych: 0, gości: 1