Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tablice - problem z wyświetleniem zawartości wektora.

Ostatnio zmodyfikowano 2014-07-17 19:45
Autor Wiadomość
tomasz27
Temat założony przez niniejszego użytkownika
Tablice - problem z wyświetleniem zawartości wektora.
» 2014-07-17 16:40:40
Witam,
zwracam się z prośbą o udzielenie pomocy w pewnej sprawie. Mam do napisania program, który dla n-elementowego wektora A liczb całkowitych wyznaczy nowy wektor B składający się jedynie z róznych elementów wektora A.
Udało mi się już zrealizować część zadania (stworzenie drugiej tablicy do przechowywania niepowtarzających się elementów). Nie wiem jednak jak poradzić sobie z wyświetleniem tych elementów. Mam obydwie tablice o długości 10 elementów i przez to wyświetlają się randomowe wartości wektora B. Myślałem o konstrukcji z continue, lub break ale nie wiem jakiego  warunku użyć. Bardzo proszę o pomoc. Poniżej kod
C/C++
#include <iostream>

using namespace std;

int main()
{
    int n = 10;
    int A[ n ], B[ n ], i, j, k;
    bool x;
    cin >> n;
    for( i = 0; i < n; i++ )
    {
        cout << i << " element tablicy: ";
        cin >> A[ i ];
        cout << endl;
    }
    B[ 0 ] = A[ 0 ];
    j = 1;
    for( i = 1; i <= n; i++ )
    {
        x = 0;
        for( k = 0; k <= j; k++ )
        {
            if( A[ i ] == B[ k ] ) x = 1;
           
        }
        if( x == 0 )
        {
            B[ j ] = A[ i ];
            j++;
        }
    }
    for( j = 0; j < n; j++ )
    {
        cout << B[ j ] << endl;
    }
   
    return 0;
}
Przepraszam za bezprośrednie wklejenie kodu, ale nie zaznajomiłem się z opcjami umożliwiającymi wkelejenie kodu w innym formacie.[/i]
P-113926
pekfos
» 2014-07-17 17:12:13
C/C++
for( j = 0; j < n; j++ )
{
    cout << B[ j ] << endl;
}
Zamiast n użyj wcześniej zdefiniowanego j.

C/C++
int A[ n ], B[ n ], i, j, k;
bool x;
cin >> n;
Nie możesz tak tworzyć tablicy.
P-113927
tomasz27
Temat założony przez niniejszego użytkownika
» 2014-07-17 19:09:28
Dlaczego tak nie można? I niebardzo rozumiem co masz na myśli jeśli chodzi o wcześniej zdefiniowane j, w jaki sposób użyć?
P-113932
pekfos
» 2014-07-17 19:39:50
Tablica ma mieć stały, znany w czasie kompilacji rozmiar. Jeśli nie znasz rozmiary, to używasz dynamicznej alokacji lub kontenera typu std::vector<>.

I niebardzo rozumiem co masz na myśli jeśli chodzi o wcześniej zdefiniowane j, w jaki sposób użyć?
Przed pętlą wypisującą masz w j ilość danych do wypisania, więc masz użyć j w miejscu n, a dla pętli użyj innej zmiennej, najlepiej utworzonej bezpośrednio w for.
P-113933
tomasz27
Temat założony przez niniejszego użytkownika
» 2014-07-17 19:45:03
Dziękuję bardzo za pomoc.
P-113934
« 1 »
  Strona 1 z 1