• 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

Object Storage Arubacloud
+1 głos
931 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ź 441 wizyt
+1 głos
1 odpowiedź 358 wizyt
0 głosów
0 odpowiedzi 949 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...