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

Program z funkcjami

Ostatnio zmodyfikowano 2013-02-23 19:24
Autor Wiadomość
Syriusz
Temat założony przez niniejszego użytkownika
Program z funkcjami
» 2013-02-22 09:57:44
Przerabiam kurs i w jednym z tematow jest program do zrobienia.

Napisałem coś takiego :
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;

int wylosuj()
{
    return( rand() % 21 ) + 10;
}

void wpisanie_do_tablicy( int tablica[] )
{
    int i;
    for( i = 0; i < 10; ++i )
         tablica[ i ] = wylosuj();
   
}

void wypisanie_liczb_z_tablicy( int tablica[] )
{
    int i;
    for( i = 0; i < 10; ++i )
         cout << tablica[ i ] << endl;
   
}
void wpisanie_liczb_z_tablicy_odwrocoenj( int tablica[], int tablica2[] )
{
    for( int j = 0; j < 10; ++j )
    {
        int i = 10;
        tablica2[ j++ ] = tablica[ i-- ];
    }
}
void wypisanie_liczb_z_tablicy2( int tablica2[] )
{
    int i;
    for( i = 0; i < 10; ++i )
         cout << tablica2[ i ] << endl;
   
}

int main()
{
    srand( time( NULL ) );
   
    int tablica_wylosowanych[ 10 ];
    int tablica_odwrocona[ 10 ];
    int i;
    int j;
   
    wpisanie_do_tablicy( tablica_wylosowanych );
   
    //Wypisywanie liczb od pocz¹tku do koñca
    wypisanie_liczb_z_tablicy( tablica_wylosowanych );
    //Wypisanie liczb od konca do poczatku
    cout << "Odwrocona tablica" << endl;
    wpisanie_liczb_z_tablicy_odwrocoenj( tablica_wylosowanych, tablica_odwrocona );
   
    wypisanie_liczb_z_tablicy2( tablica_odwrocona );
   
   
   
   
    return 0;
}

Jest to program z zadania konca kursu 2.
I nie za bardzo wiem dlaczego jak już wypisze tablice w poprawnej kolejnosci, to kolejna funkcja nie wypisuje jej w odwroconej kolejnosci.

Prosze o pomoc, bo nie za bardzo moge tego rozgryzc.
Z gory dziekuje za pomoc.
Pozdrawiam.
P-76699
Adam3423
» 2013-02-22 12:22:04
C/C++
void wpisanie_liczb_z_tablicy_odwrocoenj( int tablica[], int tablica2[] )
{
    for( int j = 0; j < 10; ++j )
    {
        int i = 10;
        tablica2[ j++ ] = tablica[ i-- ];
    }
}

po pierwsze:
tablica2[j++]=tablica[i--]; - wymyśl sobie sposób żeby zapisać to w bardziej zrozumialy sposób bo to nie działa tak jak bys sobie życzył(ale jesteś blisko);
po drugie:
int i=10; - zauważ, że wartość i przy każdym obiegu będzie taka sama teraz, także w troche innym miejscu pasowaloby to zadeklarować;) powodzenia

edit: jeszcze w int main możesz usunąć int i; int j; gdyż nie korzystasz z nich w ogóle;)
P-76706
Syriusz
Temat założony przez niniejszego użytkownika
» 2013-02-23 19:24:46
Ok, poradziłem sobie.
Dziękuje bardzo za pomoc.
Pozdrawiam.

P-76834
« 1 »
  Strona 1 z 1