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

[C++] Tablica jednowymiarowa 4 elementowa - gra w kości

0 głosów
1,004 wizyt
pytanie zadane 28 maja 2016 w C i C++ przez nootopozdro Nowicjusz (120 p.)

Witam. Mam problem jak określić zbiór tablicy 4 elementowej (robię takie zadanie po raz pierwszy).

Treść zadania:
W pewnej grze każdy z graczy rzuca czterema kośćmi. Za wynik danego gracza uznawana jest różnica pomiędzy najwyższym a najniższym wynikiem z jego kości (np. dla wyników 2, 2, 3, 6 wynikiem jest 4). Napisać funkcję symulującą taki rzut i zwracającą różnicę pomiędzy najniższym a najwyższym wynikiem. Funkcja ma jeden parametr — liczbę ścian kości. Można wykorzystać którąś z funkcji z zadania 4. Funkcja ta ma ponadto (w celach testowych) wyświetlać wylosowane wartości.

Ponadto napisać program, który wykona kilka takich losowań (ile i jakimi kośćmi podaje użytkownik) wyświetlając ich wyniki.

 

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <time.h>
using namespace std;

int rzut_koscia( int liczba_scian_kosci ) {
    int rzut = rand() % liczba_scian_kosci;
    return rzut + 1;
}

int main() {
    srand( time( 0 ) );
    int wylosowane;
    int liczba_scian_kosci;
    cout << " Liczba kosci : 4 " << endl;
    cout << "Ile scian ? " << endl;
    cin >> liczba_scian_kosci;
    cout << "Ile rzutow ? " << endl;
    int ile_rzutow;
    cin >> ile_rzutow;
    
    
    for( int i = 0; i < ile_rzutow; i++ )
    {
        
        cout << "Wylosowano : ";
        for( int i = 0; i < 4; ++i ) {
            cout << rzut_koscia( liczba_scian_kosci ) << ", ";
        };
        
        
        int tab[ 4 ] = { ???? }
        int min;
        min = tab[ 0 ];
        for( int i = 1; i < 4; i++ )
        if( min > tab[ i ] )
             min = tab[ i ];
        
        cout << "min " << min << endl;
        
        cout << "\nWynik rzutu :" << endl;
        
    }
}

 

1 odpowiedź

0 głosów
odpowiedź 28 maja 2016 przez Włóczykij Użytkownik (750 p.)

W pętli FOR najpierw przypisujesz do tablicy wartość rzutu kostki, a później ją wyświetlisz.

Tylko jeszcze musisz wcześniej stworzyć tą tablicę bo teraz tworzysz ją po pętli FOR.

komentarz 28 maja 2016 przez nootopozdro Nowicjusz (120 p.)
Nie bardzo rozumiem o co chodzi.. Jestem kompletnie początkująca
komentarz 28 maja 2016 przez Włóczykij Użytkownik (750 p.)

Stwórz sobie tą tablicę wcześniej już na samym początku programu.

int tab[4];

a później w pętli FOR gdzie losujesz jeden rzut kostki to nie wypisuj go od razu poleceniem COUT,  tylko najpierw przypisz zwróconą wartość do utworzonej tablicy, a później wypisz tą wartość ale już z tablicy. W pętli FOR  wykorzystaj zmienna i żeby się odnieść się do tablicy.

 

Podobne pytania

0 głosów
1 odpowiedź 852 wizyt
–2 głosów
1 odpowiedź 226 wizyt
0 głosów
2 odpowiedzi 810 wizyt

93,774 zapytań

142,731 odpowiedzi

323,383 komentarzy

63,378 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.

...