Dodaniem tablicy po pętli

0

Witam, mój problem polega na dodaniu kolejnej tablicy :/ już trochę długo nad tym siedzę i sobie pomyślałem, że może ktoś się zlituje i mi da jakąś wskazówkę...dodam tylko, że zaczynam swoją przygodę z programowaniem także prosiłbym o wyrozumiałość :)))

moje wypociny :
#include<iostream>
using namespace std;

int main()
{
int t;
int e;
int k;
int *tablica = NULL;

cout<<"Ile testow?"<<endl;
cin>> t;

for(int i=0;i<t;i++)
{
    cout<<"Ilosc elementow do "<<i+1<<" tablicy:"<<endl;
    cin>>e;
    tablica = new int[e];

        for(int j=0;j<e;j++)
        {

        cout<<"podaj "<<j+1<<" liczbe tablicy:"<<endl;
        cin>>k;
        tablica[j]=k;

        }

}//pętla ma za zadanie wyświetlić odwróconą tablicę:1'szą,2'gą,3'cią...odwraca ,ale tylko jedna :(
//i tu tkwi moj problem:( jak moge dodać kolejna tablice?

    for (int l = e - 1; l >= 0; --l) {
    cout << tablica[l] << " "; //wyświetlenie elementów tablicy w odwrotnej kolejności

}

delete [] tablica;

return 0;

}

1
cin>>t;
while(t--)
  {
    cin>>e;
    int *tablica=new int[e];
    ...
    delete[] tablica;
  }
0
include<iostream>
using namespace std;


int main()
{
    int t;
    int e;
    int k;
    int *tablica = NULL;

    cout<"Ile testow?"<endl; cin="cin">> t;

    for(int i=0;i<t;i++) {="{" elementow="elementow" do="do" "<<i+1<<"="&quot;&lt;&lt;i+1&lt;&lt;&quot;" tablicy:"<<endl;="tablicy:&quot;&lt;&lt;endl;" cin="cin" cout<<"ilosc="cout&lt;&lt;&quot;Ilosc">>e;
        tablica = new int[e];

            for(int j=0;j<e;j++) {="{" cout<<"podaj="cout&lt;&lt;&quot;podaj" "<<j+1<<"="&quot;&lt;&lt;j+1&lt;&lt;&quot;" liczbe="liczbe" tablicy:"<<endl;="tablicy:&quot;&lt;&lt;endl;" cin="cin">>k;
            tablica[j]=k;

            }

    }//pętla ma za zadanie wyświetlić odwróconą tablicę:1'szą,2'gą,3'cią...odwraca ,ale tylko jedna :(
    //i tu tkwi moj problem:( jak moge dodać kolejna tablice?

        for (int l = e - 1; l >= 0; --l) {
        cout < tablica[l] << " "; //wyświetlenie elementów tablicy w odwrotnej kolejności

    }

   delete [] tablica;

    return 0;
}
0

Kurde...ale spaaaam, sorry 1'y raz na forum ;/

#include<iostream>
using namespace std;


int main()
{
    int t;
    int e;
    int k;
    int *tablica = NULL;

    cout<<"Ile testow?"<<endl;
    cin>> t;

    for(int i=0;i<t;i++)
    {
        cout<<"Ilosc elementow do "<<i+1<<" tablicy:"<<endl;
        cin>>e;
        tablica = new int[e];

            for(int j=0;j<e;j++)
            {

            cout<<"podaj "<<j+1<<" liczbe tablicy:"<<endl;
            cin>>k;
            tablica[j]=k;

            }

    }//pętla ma za zadanie wyświetlić odwróconą tablicę:1,2,3...odwraca ,ale tylko jedna :(
    //i tu tkwi moj problem:( jak moge dodać kolejna tablice?

        for (int l = e - 1; l >= 0; --l) {
        cout << tablica[l] << " "; //wyświetlenie elementów tablicy w odwrotnej kolejności

    }

   delete [] tablica;

    return 0;
}
2

Gdybyś miał porządne wcięcia to od razu byś zauważył problem:

for(int i=0;i<t;i++)
{
	cout<<"Ilosc elementow do "<<i+1<<" tablicy:"<<endl;
	cin>>e;
	tablica = new int[e];

	for(int j=0;j<e;j++)
	{
		cout<<"podaj "<<j+1<<" liczbe tablicy:"<<endl;
		cin>>k;
		tablica[j]=k;
	}
}

for (int l = e - 1; l >= 0; --l) 
{
	cout << tablica[l] << " "; //wyświetlenie elementów tablicy w odwrotnej kolejności
}

delete [] tablica;

Wczytujesz t razy, a wypisujesz tylko raz. Przy okazji usuwasz dynamiczną tablicę delete[] tablica też tylko raz a tworzysz t razy, czyli masz wyciek pamięci.

1

Poza tym wg mnie potrzebujesz tylko tego:

#include<iostream>
using namespace std;
 
void read(unsigned count)
  {
   int value;
   cin>>value;
   if(--count) read(count);
   cout<<value<<' ';
  }
 
int main()
  {
   unsigned test;
   cin>>test;
   while(test--)
     {
      unsigned count;
      cin>>count;
      read(count);
      cout<<endl;
     }
   return 0;
  }
0

13 Dragon , dzięki :) To z pętlą while działa tyle, że po każdym teście wyskakuje mi posortowana tablica, a chciałem żeby na koniec wyrzucał wszystkie po kolei.
A ten 2 Kod to jakieś zaklęcia ?? :p

Twonek sęk w tym, że nie wiem jak dodać tą kolejną tablice, tak żeby przechował i wyrzucił na koniec t-tablic. Na dziś dam już sobie spokój może jutro coś wymyślę :)! Dzięki Panowie jeszcze raz !

0

Prawie na 100% robisz to: http://pl.spoj.com/problems/PP0502B/
Więc:

  1. nie musisz kolekcjonować wyników.
  2. nie możesz umieszczać żadnych innych tekstów jak: cout<<"podaj "<<j+1<<" liczbe tablicy:"<<endl;
0

Na 100% zadanie zaczerpnięte z pl.spoj.com :) Z tym, że robię je dla siebie w ramach treningu nie dla spoj'a stąd komentarze i cout'y :)

2

No to zapoznaj się z:

  1. std::array
  2. std::vector
  3. std::reverse
0

Ok, dzięki :) zaraz się zabieram :)

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