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

[Lekcja 21] Zadanie pierwsze.

Ostatnio zmodyfikowano 2012-08-28 12:59
Autor Wiadomość
BialyQ
Temat założony przez niniejszego użytkownika
[Lekcja 21] Zadanie pierwsze.
» 2012-08-28 12:54:57
Dziś już mam drugi problem z rozwiązaniem zadania po przeczytaniu rozdziału. Może coś nie uważnie czytałem że nie rozumiem czemu jest tak a nie inaczej ?;/ Tego nie wiem. Ale proszę kogoś o sprawdzenie kodu i napisanie co zrobiłem źle. Wzorowałem się na przykładzie. Program się uruchamia, ale można wpisać tylko jedną liczbę i koniec. Nic więcej nie ma. Tzn program się nie kończy tylko nie można nic więcej wpisać.
Warning:
y\Desktop\Nauka Programowania\Nowy folder\123.cpp||In function 'int podajLiczby(int*, int)':|
y\Desktop\Nauka Programowania\Nowy folder\123.cpp|14|warning: no return statement in function returning non-void|
||=== Build finished: 0 errors, 1 warnings ===|
A oto mój kod:
C/C++
#include <iostream>
using namespace std;

int podajLiczby( int t[], int ile )
{
    int i = 0;
    int tablica[ i ];
    cout << "Podaj 3 liczby: ";
    do
    {
        cin >> tablica[ i ];
        i++;
    } while( i < ile );
   
}
bool czyBylaWylosowana( int iLiczba, int t[], int ile )
{
    if( ile <= 0 )
         return false;
   
    int i = 0;
    do
    {
        if( t[ i ] == iLiczba )
             return true;
       
        i++;
    } while( i < ile );
   
    return false;
}

int main()
{
    int tablica[ 3 ];
    int i = 0;
    int liczby = podajLiczby( tablica, i );
    do
    {
        if( czyBylaWylosowana( liczby, tablica, i ) == false )
        {
            tablica[ i ] = liczby;
            i++;
        }
    } while( i < 3 );
   
    i = 0;
    do
    {
        cout << tablica[ i ] << endl;
        i++;
    } while( i < 3 );
   
    return 0;
}

Długo myślałem nad kodem podanym w przykładzie i myślałem że już wiem o co chodzi . No ale najwidoczniej nie bardzo.
P-63875
SeaMonster131
» 2012-08-28 12:59:03
C/C++
int podajLiczby( int t[], int ile )
{
    int i = 0;
    int tablica[ i ];
    cout << "Podaj 3 liczby: ";
    do
    {
        cin >> tablica[ i ];
        i++;
    } while( i < ile );
   
}

//...

int i = 0; // ..
int liczby = podajLiczby( tablica, i );
Skoro zrobiłeś tak, że możesz wpisać tylko jedną liczbę, to nic dziwnego..
Po drugie, dlaczego zmiennej liczby przyporządkowujesz funkcję podajLiczby, skoro ta funkcja nic nie zwraca?
I Po trzecie jako argument przekazujesz tablicę, ale liczby wpisujesz do innej tablicy.

Musisz czytać kurs dokładniej.
P-63877
« 1 »
  Strona 1 z 1