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

Losowanie bez powtorzen - nie moge znalezc bledu

Ostatnio zmodyfikowano 2015-10-12 16:21
Autor Wiadomość
danielpadewski
Temat założony przez niniejszego użytkownika
Losowanie bez powtorzen - nie moge znalezc bledu
» 2015-10-11 12:59:33
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
    srand( time( 0 ) );
    int liczba[ 5 ], los;
    int i, c;
    bool a = false;
    for( i = 0; i < 5; i++ )
    {
        do
        {
            los =( rand() % 6 ) + 5;
           
            for( c = 0; c <= i; c++ )
            {
                if( !los == liczba[ c ] )
                {
                    a = false;
                }
            }
           
        } while( a == true );
       
        liczba[ i ] = los;
        cout << liczba[ i ] << endl;
    }
    return 0;
}

napisalem ten program bez oparcia o funkcje ale nie moge pojac dlaczego nie losuje sie bez powtorzen , program moim zdaniem powiniem dzialac tak ze
1. losuje liczbe
2. porownuje ta liczbe do elementow tablicy (liczba elemntow = i)
3. jesli liczba padla to zwraca wartosc false dzieki czeu petla sie powtarza i liczba znowu sie losuje
4. jesli liczba nie padla to przypisuje ta liczbe do elementu tablicy i wypisuje liczbe
5. losuje kolejne liczby[/i][/i]
P-138401
carlosmay
» 2015-10-11 13:17:04
"Coś nie działa" - co to jest za tytuł?
Jaki problem on opisuje?

nie moge pojac dlaczego nie losuje sie bez powtorzen
 coś jest źle napisane w kodzie.

Popraw post:
- kod sformatoway (znaczniki)
- temat wskazujący na problem.

Ignorujesz zasady tego forum (posty idą do bezużytecznych).
Pod każdym założonym  tematem masz informację o zakładaniu tematów.
P-138402
danielpadewski
Temat założony przez niniejszego użytkownika
odp
» 2015-10-11 13:17:52
jak mam sformatowac kod ? karwasz twarz jestem glupi i nie umiem
P-138403
carlosmay
» 2015-10-11 13:19:06
P-138404
carlosmay
» 2015-10-11 13:36:37
if( !los == liczba[ c ] )
 
 tego nie rozumiem.

Program sprawdza (jak poprawisz warunek) czy liczba już jest w tablicy, ale niezależnie od wyniku sprawdzania zapisuje los do tablicy,
a powinien wrócić do ponownego losowania.
P-138408
danielpadewski
Temat założony przez niniejszego użytkownika
» 2015-10-11 13:53:50
program sprawdza
C/C++
if( !los == liczba[ c ] )

jesli wylosowana liczba jest różna od kazdego z elementów tablicy to zwraca wartosc false dzieki czemu petla sie przerywa i los zapisuje sie do tablicy
P-138409
carlosmay
» 2015-10-11 14:10:37
if( !los == liczba[ c ] )
 
 ten warunek jest nieprawdziwy dla każdej liczby innej niż zero,
lub w przypadku gdy 'los = 0' będzie prawdziwy dla 'liczba[c] = 1'.
P-138410
danielpadewski
Temat założony przez niniejszego użytkownika
» 2015-10-11 15:21:56
wylosuje np liczbe 3, sprawdza czy 3 jest różna od wszystkich elementów

nie rozumiem jak liczba[c] moze przyjmowac wartosc 0 , sory bardzo za to , miesza mi sie to troche juz , wedlug mnie to powinno dzialac prawidlowo (dziala jak zaprogramowalem) no ale nie potrafie znalezc "tej linijki" gdzie jest popełniony błąd
P-138412
« 1 » 2
  Strona 1 z 2 Następna strona