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

[21] zadanie domowe

Ostatnio zmodyfikowano 2013-05-09 15:40
Autor Wiadomość
gladiatus
Temat założony przez niniejszego użytkownika
[21] zadanie domowe
» 2013-05-08 21:11:23
Mam problem po wczytaniu trzeciej liczby program dalej nie reaguje

o to kod:

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

int losuj()
{
    return( rand() % 1 ) + 0;
}

int czylos( int ile, int los[], int liczba )
{
    if( ile <= 0 );
   
    return false;
   
    int a = 0;
    do
    {
        if( los[ a ] == liczba )
             return true;
       
        a++;
    } while( a < ile );
   
    return false;
   
}
int main()
{
    srand( time( 0 ) );
    int podane[ 3 ];
    int losowanie[ 1 ];
    int wylosowanych = 0;
    int jest = losuj();
    int a = 0;
    std::cout << "Podaj liczbe pierwsza" << std::endl;
    std::cin >> podane[ 0 ];
    std::cout << "Podaj liczbe druga" << std::endl;
    std::cin >> podane[ 1 ];
    std::cout << "Podaj liczbe trzecia" << std::endl;
    std::cin >> podane[ 2 ];
   
    {
        if( czylos( wylosowanych, losowanie, jest ) == false )
        {
            losowanie[ wylosowanych ] = jest;
            wylosowanych++;
        }
    } while( wylosowanych < 2 );
   
    wylosowanych = 0;
    do
    {
       
        a = losowanie[ wylosowanych ];
        std::cout << podane[ a ] << std::endl;
        wylosowanych++;
        a++;
       
    } while( wylosowanych < 2 );
   
    return 0;
}
 
P-82475
jsc
» 2013-05-08 21:47:58
Masz nie kompletną pętlę.
P-82492
gladiatus
Temat założony przez niniejszego użytkownika
» 2013-05-09 15:10:34
Poprawiłem kod ,ale dalej nie działa

 
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

int losuj()
{
    return( rand() % 1 ) + 0;
}

int czylos( int ile, int los[], int liczba )
{
    if( ile <= 0 )
         return false;
   
    int a = 0;
    do
    {
        if( los[ a ] == liczba )
             return true;
       
        a++;
    } while( a < ile );
   
    return false;
   
}
int main()
{
    srand( time( 0 ) );
    int podane[ 3 ];
    int losowanie[ 3 ];
    int wylosowanych = 0;
    int w = 0;
    std::cout << "Podaj liczbe pierwsza" << std::endl;
    std::cin >> podane[ 0 ];
    std::cout << "Podaj liczbe druga" << std::endl;
    std::cin >> podane[ 1 ];
    std::cout << "Podaj liczbe trzecia" << std::endl;
    std::cin >> podane[ 2 ];
    do
    {
        int jest = losuj();
        if( czylos( wylosowanych, losowanie, jest ) == false )
        {
            losowanie[ wylosowanych ] = jest;
            wylosowanych++;
           
        }
    } while( wylosowanych < 2 );
   
    wylosowanych = 0;
    do
    {
        w = losowanie[ wylosowanych ];
        std::cout << podane[ losowanie[ wylosowanych ] ] << std::endl;
        wylosowanych++;
       
       
    } while( wylosowanych < 2 );
   
    return 0;
}
P-82521
kubawal
» 2013-05-09 15:12:30
Poprawiłem kod ,ale dalej nie działa
Co konkretnie poprawiłeś? Co nie działa? Czy to błędy czasu wykonywania czy kompilacji?
P-82522
gladiatus
Temat założony przez niniejszego użytkownika
» 2013-05-09 15:15:31
Program po wczytaniu trzech liczb nic dalej nie robi stoi w miejscu.
P-82524
kubawal
» 2013-05-09 15:17:41
Spróbuj za pomocą debuggera sprawdzić, w którym miejscu stanął, a jeśli nie to daj sobie w tych pętlacz takie debugowe couty (
cout << "Wykonuje petle 1";
 itp.)
P-82525
gladiatus
Temat założony przez niniejszego użytkownika
» 2013-05-09 15:32:53
Zrobiłem tak jak mówiłeś z tym cout i w konsoli pisało na zmianę wykonuje pętle 1 i 2 bardzo szybko.
P-82527
Monika90
» 2013-05-09 15:36:28
C/C++
int losuj()
{
    return( rand() % 1 ) + 0;
}
ta funkcja zawsze zwraca zero. To chyba nie tak ma być?
P-82528
« 1 » 2
  Strona 1 z 2 Następna strona