• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wypisanie wartości z dynamicznej tablicy dwuwymiarowej

Cloud VPS
+1 głos
1,128 wizyt
pytanie zadane 9 sierpnia 2016 w C i C++ przez Kasztan Dyskutant (8,080 p.)
zamknięte 12 sierpnia 2016 przez Kasztan
#include <iostream>


using namespace std;

int main()
{

    int t;
    int w;
    cout<<"Podaj liczbe testow: ";
    cin>>t;

    int  ** a= new int *[t];//alokacja tablicy

    for( int c = 0; c < t; c++ )
    {
        cout<<"Podaj wielkosc tablicy: ";
        cin>>w;
        a[c] = new int[w];    // alokacja tablicy

    for(int z=0;z<w;z++)
    {
        cout<<"Podaj liczbe: ";
        cin>>a[c][z];
         //wpisywanie liczby do tablicy
    }

    }

      for(int i=0;i<t;i++) //wypisanie wartosci tablicy
    {
        for(int j=0;j<w;j++)
            cout<<a[i][j]<<" ";
            cout<<endl;
    }






    return 0;
}

Mam taki kod. Podaje np. liczba testów 2, wielkość tablicy 5, wpisuje 5 liczb, wielkość tablicy 3, wpisuje 3 liczby i żeby zostało wypisane np : 1 2 3 4 5

                                                                                                                 7 6 5

 

nie wiem czy w tej ostatnie pętli for iterator ma zmierzać do wskaźnika który będzie się zwiększał z kolejnym działaniem pętli no nie wiem mógłby ktoś coś opowiedzieć : )

komentarz zamknięcia: KoleSZka dobrze pokminił
komentarz 9 sierpnia 2016 przez MetRiko Nałogowiec (37,110 p.)

Po tym fragmencie kodu:
cout<<"Podaj liczbe testow: ";
Przypuszczam, że prawdopodobnie rozwiązujesz zadanie ze SPOJ'a (mogę się mylić). Jeżeli tak.. to nie musisz wypisywać całego wyjścia wprowadzając wcześniej wszystko z wejścia.. SPOJ bez problemu potrafi określić co należy do strumienia wyjścia (cin) i wejścia (cout).. tak więc nawet jak to pomieszasz to sędzia sobie bez problemu ogarnie co jest czym. Ale to tak dodatkowo gdybyś nie wiedział.

komentarz 9 sierpnia 2016 przez Kasztan Dyskutant (8,080 p.)
Nie mylisz się : ). No to fajnie myślałem że ten output jest taki rygorystyczny.
komentarz 9 sierpnia 2016 przez MetRiko Nałogowiec (37,110 p.)
Też na początku tak myślałem.. Niedawno ktoś mi uświadomił, że jest inaczej.

2 odpowiedzi

0 głosów
odpowiedź 12 sierpnia 2016 przez matemika Obywatel (1,550 p.)
wybrane 12 sierpnia 2016 przez Kasztan
 
Najlepsza

Chyba mi się udało :D

#include <iostream>

using namespace std;

int main()
{
    int rozmiar, test, i, k;
    cout<<"Podaj liczbe testow: ";
    cin>>test;
    int ** tablica = new int * [test];
    int *schowek = new int [test];
    for (i=1; i<=test; i++)
    {
        cout<<"Podaj rozmiar tablicy "<<i<<":";
        cin>>rozmiar;
        schowek[i-1]=rozmiar;
        tablica[i-1] = new int [rozmiar];
        for(k=0; k<rozmiar; k++)
        {
            cout<<"Podaj liczbe: ";
            cin>>tablica[i-1][k];
        }
    }
    for(i=1; i<=test; i++)
    {
        for(k=0; k<schowek[i-1]; k++)
            cout<<tablica[i-1][k]<<"\t";
        cout<<endl;
    }
}

 

0 głosów
odpowiedź 12 sierpnia 2016 przez matemika Obywatel (1,550 p.)

No powiem Ci, że ciekawe zadanie.

Mój kod:

#include <iostream>

using namespace std;

int main()
{
    int rozmiar, test, i, k;
    cout<<"Podaj liczbe testow: ";
    cin>>test;
    int ** tablica = new int * [test];
    for (i=1; i<=test; i++)
    {
        cout<<"Podaj rozmiar tablicy "<<i<<":";
        cin>>rozmiar;
        tablica[i-1] = new int [rozmiar];
        for(int k=0; k<rozmiar; k++)
        {
            cout<<"Podaj liczbe: ";
            cin>>tablica[i-1][k];
        }
    }
    for(i=1; i<=test; i++)
    {
        for(k=0; k<rozmiar; k++)
            cout<<tablica[i-1][k]<<"\t";
        cout<<endl;
    }
}

doszedłem do tego samego chyba co Ty. Z tego co widzę, to trzeba by zrobić tablicę pomocniczą teraz (która przechowa rozmiar każdego z testów), będzie zapamiętywała ile jest liczb do wypisania z każdej tablicy i uwzględnić ją przy ostatniej pętli for. A utworzyć ją w miejscu gdzie pętlą pobieramy wartości do tablicy dynamicznej. Czy może masz jakiś inny pomysł?

Podobne pytania

0 głosów
1 odpowiedź 583 wizyt
+1 głos
1 odpowiedź 454 wizyt
0 głosów
0 odpowiedzi 1,014 wizyt

93,485 zapytań

142,417 odpowiedzi

322,764 komentarzy

62,896 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...