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

Losowanie bez powtórzeń...

Ostatnio zmodyfikowano 2015-06-11 13:57
Autor Wiadomość
damian955
Temat założony przez niniejszego użytkownika
Losowanie bez powtórzeń...
» 2015-06-11 04:19:52
Witajcie! Mam problem, otóż wykonuję program w ramach pracy domowej. Ma działać następująco: podaję trzy dowolne liczby całkowite do tablicy; program je zapamiętuje i wypisuje na ekran; program losuje 2 liczby z trzech, które podałem; losowanie ma się odbyć bez powtórzeń;
Problem polega na tym, że nie wiem jakie instrukcje podać żeby program losował moje podane liczby bez ich powtarzania tzn nie wiem jakie zależności wstawić. Podam mój niedokończony kod i napiszę co wiem.

#include <cstdio>
#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
int los()
{
    return(rand()%3)+1;
}
void pokaz(int a[],int liczba)
{
    system("cls");
    liczba=0;
    printf("Podane trzy liczby to:\n");
    do
    {
    cout<<a[liczba]<<"\n";
    liczba++;
    }while(liczba<3);
}
void wpisz(int a[],int nr,int liczba)
{
    bool as;
    do//w tej linii program wykonuje petle
    {//w tej linii program otwieraa petle
        printf("Liczba nr %d: ",nr);cin>>a[liczba];as=cin.good();cin.clear();cin.sync();//w tej linii program zapamietuje trzy liczby
        nr++;//w tej linii program zapamietuje trzy liczby
        liczba++;//w tej linii program zapamietuje trzy liczby
        if(as==0)
            {
                system("cls");
                cout<<"Wpisz trzy liczby na ekran:"<<endl;
                nr=1;liczba=0;
            }
    }while(liczba<3);//Warunek oddaje koniec

}
int main()
{
    srand(time(NULL));
    int a[3],liczba,nr;
    cout<<"Wpisz trzy liczby na ekran:"<<endl;
    wpisz(a,1,0);
    pokaz(a,0);
    nr=1;
    do
    {
    liczba=los();
    cout<<endl<<liczba;
    nr++;//Tutaj ma być stworzony if, ale nie wiem na jakiej podstawie dla zmiennej liczba wiec zostawiam bez if'a, żeby program odpalić bez nieskończonej pętli
    }while(nr<3);
}

Wiem, że muszę sprawić aby zmienna liczba w funkcji main była różna no właśnie od czego od samej zmiennej liczba? Jak mam podpiąć zmienną liczba, aby móc ją negować jeśli będzie taka sama jak wcześniej. Chodzi o to, żeby nie wykorzystywać funkcji, gdyż najpierw próbuję cały kod budować bez niej, a dopiero później go sklejam na bieżąco na funkcje, tak się lepiej uczę. Ja na przykład zmienną liczba podpiął bym pod zmienn nr, ale nie mam pojęcia jak to zrobić.

Odpowiedź na jaką liczę to wyjaśnienie pod co mam podpiąć zmienną liczba, aby nie występowało powtarzanie tej samej tablicy. Oczywiście bez tworzenia dodatkowych funkcji (męczę się z tym już kilka dni i nie moge przez to kontynuować nauki, jedyny tego plus jest taki, że z automatu podczas główkowania wbija mi się wiedza ze starszych lekcji). Dzięki z góry za odp.
P-133447
darko202
» 2015-06-11 08:34:49
to jak zbudujesz konkretny algorytm zależy od Ciebie
dlatego odpowiedz na postawione pytania musisz udzielić sobie sam :)

1.
zastanów się jak zbudować algorytm
2.
narysuj go np. jako schematy blokowe
3.
zasymuluj działanie na ww. schemacie
4.
przenieś na język programowania

ps.
nie rób w jednej linii kilku operacji to zaciemnia

kod wstawiaj w [cpp]...[/cpp]

 
P-133449
damian955
Temat założony przez niniejszego użytkownika
» 2015-06-11 13:57:23
Ok usuwam konto na forum, bo bez sensu jest prosić o pomoc.

Edit: Proszę administrację o zbanowanie/usunięcie tego konta, gdyż nie jestem zadowolony z forum. Jeśli to się nie stanie w ciągu tygodnia to zostaniecie do tego sprowokowani. Dziękuję.
P-133456
« 1 »
  Strona 1 z 1