• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Napisz program, który wczyta 3 liczby podane przez użytkownika do tablicy, a następnie wylosuje 2 z nich bez powtórzeń.

0 głosów
528 wizyt
pytanie zadane 27 czerwca 2022 w C i C++ przez piratek098 Nowicjusz (160 p.)

Od kilku dni nie mogę ruszyć dalej z kursem, liczby pseudolosowe bez powtórzeń sprawiają mi wiele problemów. Czy mógłby mi ktoś coś doradzić, jak uniknąć powtórzeń? Próbowałem różnych sposób ale nic nie wydaje się działać.

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void Wczytaj3Liczby(int * tablica)
{
	int licznik = 0;

	do 
	{
		cin >> tablica[licznik];
		licznik++;
	} while (licznik < 3);
}

int WylosujPrzedzialtablicy()
{
	return ((rand() % 3) + 0);
}

int main()
{
	srand(time(NULL));
	int tablica[3];
	int licznik = 0;

	Wczytaj3Liczby(tablica);

	do 
	{
		int WylosujPrzedzialTablicy = WylosujPrzedzialtablicy();
		cout << tablica[WylosujPrzedzialTablicy] << endl;
		licznik++;
	} while (licznik < 2);
}

Dziękuję z góry.

1 odpowiedź

+1 głos
odpowiedź 27 czerwca 2022 przez krystianfr Nowicjusz (240 p.)
Stwórz zmienną w której przechowasz wynik pierwszego losowania i losuj dopóki wynik nie będzie różny od wartości tej zmiennej.

Podobne pytania

0 głosów
1 odpowiedź 4,925 wizyt
0 głosów
3 odpowiedzi 4,327 wizyt

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...