Program losujący działanie do rozwiązania(nie działa ale czuję że jestem blisko)

0
#include <cmath>
#include <conio.h>
using namespace std;

int random(int Min, int Max) { return rand() % Max + Min; }

int main()
{
    srand(static_cast<unsigned int>(time(NULL)));

    unsigned aLiczby[2];
    for (int i = 0; i < 2; ++i)
        aLiczby[i] = 0;

    for (int i = 0; i < 9;)

    {

        // wylosowanie liczby

        aLiczby[i] = rand() % 9 + 1;
        bool bPowtarzaSie = false;

        for (int j = 0; j < i; ++j)

        {

            if (aLiczby[j] == aLiczby[i])

            {

                bPowtarzaSie = true;

                break;
            }
        }

        // jeżeli się nie powtarza, przechodzimy do następnej liczby

        if (!bPowtarzaSie)
            ++i;
    }

    cout << "Rozwiąż działanie:";
    for (int i = 0; i < 1; ++i)
        cout << aLiczby[1] << "*" << aLiczby[2] << "=";
    int wynik = aLiczby[1] * aLiczby[2];
    cin >> wynik;
    if (wynik == aLiczby[1] * aLiczby[2]) {
        cout << "brawo";
        getch();
    }
}
0

Trochę przekombinowałeś z tym losowaniem - spróbuj tak:

int a = random(...);
int b;

do {
  b = random(...);
} while (b == a);

cout << "Rozwiąż działanie:";

/* ... */

Btw, co konkretnie nie działa?

0

Nue wiem co nie działa. Program normalnie sie uruchamia ale po wpisaniu wyniku nie wyskakuje brawo tylko jakies litery.

1

Jakie litery?
Najlepiej podeślij screenshot.

Musisz być precyzyjny - żaden z nas nie siedzi ani w Twojej głowie, ani przy Twoim komputerze, a ciągnąć za język też nie zawsze się chce.

3

Tu podpowiedź - napisz dokładnie jakiego rezultatu działania programu oczekujesz, a jaki otrzymujesz (ewentualnie zdjęcie ekranu z wynikiem też będzie ok)

0

Wynik tg programu to np:
5*3=
-po rowna sie uzytkownik pisze wynik
Jesli jest dobry powinno wyskoczyc "brawo" ale tak sie nie dzieje

0

Powinieneś odwoływać się do aLiczby[0] i aLiczby[1], ponieważ tablice są iterowane od zera.

Na przyszłość pamiętaj, aby umieścić jak najwięcej informacji, zrzutów ekranu itd. w poście otwierającym wątek - wtedy całość dałoby się rozwiązać w ciągu minuty ;-)

0

Okej dzięki

0

Po zmianie dalej nie działa

0

Pokaż aktualny kod.

0

Odpowiem po skl bo mam tel rozladowany

0

Takie coś wychodzi

0
Patryk27 napisał(a):

Pokaż aktualny kod.

0

Jak aktualny

On jest ciągle taki sam xd

0

Napisałeś:

Po zmianie dalej nie działa

Zatem wprowadziłeś jakąś zmianę i chciałbym zobaczyć kod w aktualnej wersji.

Wiesz że zamiast trzaskać trzy posty mógłbyś mi to po prostu podesłać i moglibyśmy iść z tematem dalej? ;-p

0

Po zmianie z : aLiczby[1] i aLiczby[2] na aLiczby[0] i aLiczby[1]

1

Wyślij cały kod.

0
#include <cmath>
#include <conio.h>
using namespace std;

		
	int main()
	{

	unsigned aLiczby[2];
	for (int i=0;i<2;++i)
	aLiczby[i]=0;
	
	for (int i=0; i<9; ) 

 {

 // wylosowanie liczby 

 aLiczby[i] = rand() % 
 9 + 1;
 bool bPowtarzaSie = false; 

 for (int j = 0; j < i; ++j) 

 { 

 if (aLiczby[j] == aLiczby[i]) 

 { 

 bPowtarzaSie = true; 

 break; 

 } 

 } 

 // jeżeli się nie powtarza, przechodzimy do następnej liczby 

 if (!bPowtarzaSie) ++i; 
} 
 
  cout<<"Rozwiąż działanie:";        
  for (int i=0;i<1;++i)
  cout<<aLiczby[1]<<"*"<<aLiczby[2]<<"=";
  int wynik=aLiczby[1]*aLiczby[2];
  cin>>wynik;
  if (wynik==aLiczby[1]*aLiczby[2])
  {
  	cout<<"brawo";
  	getch();
  }
	}
1
for (int i=0; i<9; ) {
  aLiczby[i] = /* ... */

aLiczby może przechować tylko dwie liczby (o indeksach 0 i 1) - dlaczego próbujesz do środka wrzucić aż dziewięć?

0

Nwm to ma jakies znacze nie ze bedzie ich wiecej?

2

Powiedziałeś komputerowi: stwórz mi tablicę, w której umieszczę *maksymalnie* dwie liczby (poprzez unsigned aLiczby[2];), po czym próbujesz go środka włożyć ich więcej.

Tak, to ma znaczenie.

4

A jak masz samochód z 4 miejscami to ma znaczenie czy próbują tam wejść 3 czy 10 osób?

1

Działa!Dzieluję za pomoc i sory za kłopot i moją głupotę, jestem początkujacy co pewnie widać.

Rozumiem błąd jaki popełniłem

Pierwszy raz korzystam z tg serwisu

1 użytkowników online, w tym zalogowanych: 0, gości: 1