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

Tablice- przekazanie danych.

Ostatnio zmodyfikowano 2014-02-07 22:25
Autor Wiadomość
Pyrkosz19
Temat założony przez niniejszego użytkownika
Tablice- przekazanie danych.
» 2014-02-07 22:12:10
Witam.
Potrzebuję do jutra dowiedzieć się jak przekazać dane z jednej tablicy do drugiej. Próbuje to zrobić od jakiegoś czasu i nie mogę dojść jak to zrobić. Ponadto nie mogłem tego nigdzie znaleźć. Chodzi np. o to że wpisujemy cin do tablicy kilka wartości liczbowych i te większe od 5 są przekazane do drugiej tablicy a następnie wyświetlone.
Próbowałem załatwić to w ten sposób:

C/C++
int funkcja( int tablica1[ 5 ] )
{
    int j = 0;
    int tablica2[ 5 ];
    for( int i = 0; i < 5; i++ )
    if( tablica1[ i ] > 5 )
    {
        tablica2[ j ] = tablica1[ i ];
        j++;
    }
   
    cout << tablica2[ 0 ];
    return 0;
}



void main()
{
    int tablica1[ 5 ];
    for( int i = 0; i < 5; i++ )
    {
        cin >> tablica1[ i ];
    }
    funkcja( tablica1 );
}

Byłbym bardzo wdzięczny za pomoc.
P-104205
MrPoxipol
» 2014-02-07 22:15:28
E?
C/C++
for( int i = 0; i < j; ++i )
     cout << tablica[ i ] << " ";

?

@down,
Na przykład tak:
C/C++
#include <iostream>
#include <vector>
using namespace std;

void perform( int tab[], size_t num )
{
    vector < int > nums;
    for( size_t i = 0; i < num; ++i )
    if( tab[ i ] > 5 )
         nums.push_back( tab[ i ] );
   
    for( size_t i = 0; i < nums.size(); ++i )
         cout << nums[ i ] << " ";
   
}

int main() {
    int tab[ 5 ];
    for( size_t i = 0; i < 5; ++i )
         cin >> tab[ i ];
   
    perform( tab, 5 );
   
    return 0;
}
P-104206
Pyrkosz19
Temat założony przez niniejszego użytkownika
» 2014-02-07 22:25:44
Już ogarnąłem. Nie chciałem też żeby druga tablica miała wyświetlać więcej elementów niż się w niej znalazło bo wyświetlały się głupoty.

Jakby ktoś miał kiedyś jakiś podobny problem:
C/C++
int funkcja( int tablica1[ 5 ] )
{
    int k = 0;
    int j = 0;
    int tablica2[ 5 ];
    for( int i = 0; i < 5; i++ )
    {
        if( tablica1[ i ] > 5 )
        {
            tablica2[ j ] = tablica1[ i ];
            j++;
            k++;
        }
    }
   
    for( int i = 0; i < k; i++ )
    {
        cout << tablica2[ i ] << " ";
    }
    return 0;
}



void main()
{
    int tablica1[ 5 ];
    for( int i = 0; i < 5; i++ )
    {
        cin >> tablica1[ i ];
    }
    funkcja( tablica1 );
}


Btw.
Da się to napisać prościej, lepiej itp i ja to wiem, dziś już brak czasu.
P-104207
« 1 »
  Strona 1 z 1