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

Rozdział 2. zadanie 22.3

Ostatnio zmodyfikowano 2020-01-23 18:01
Autor Wiadomość
Seba_S
Temat założony przez niniejszego użytkownika
Rozdział 2. zadanie 22.3
» 2020-01-23 15:03:47
Witam ponownie,
cale zadanie 22.3 rozwiązałem chyba poprawnie (przeglądając poprzednie watki tego samego zadania na forum wnioskuje ze tak)

Problem pojawił się gdy chciałem dodać do całego kodu opcje dzięki której moje losowanie odbędzie się bez powtórzeń.
nie chciałem dodawać nowych funkcji tylko "udoskonalić" funkcje "wylosuj liczby"

Pytanie do Was - czy można tak zrobić tzn czy zmierzam w dobrym kierunku (narazie liczby się  powtarzają)

czy tez nie da nie tego zrobić nie łamiąc poniższego zapisu main()
C/C++
int main()
{
    int tablica[ 10 ];
    wylosujLiczby( tablica, 10 );
    wypiszTablice( tablica, 10 );
    wypiszTabliceOdTylu( tablica, 10 );
    int iMin = znajdzMinimum( tablica, 10 );
    int iMax = znajdzMaksimum( tablica, 10 );
    wypiszMinMax( iMin, iMax );
    return 0;
}

moje wypociny:

C/C++
#include <iostream>
int main()
#include <iostream>
#include <ctime>
#include <cstdlib>

void wylosujliczby( int tablica[], int ile )
{
    for( int i = 0; i < ile; i++ )
    {
        tablica[ i ] = rand() % 21 + 10;
       
        int liczba = tablica[ 0 ];
       
        if( liczba == tablica[ i ] )
        {
            liczba = tablica[ i ];
        }
    }
}
void wypisztablice( int tablica[], int ile )
{
    for( int i = 0; i < ile; i++ )
    {
       
        std::cout << i + 1 << ".liczba - " << tablica[ i ] << std::endl;
    }
}

void wypisztablicodtyli( int tablica[], int ile )
{
    for( int i = 9; i >= ile; i-- )
    {
        std::cout << i + 1 << ".liczba - " << tablica[ i ] << std::endl;
    }
}
int znajdzMinimum( int tablica[], int ile )
{
    int liczba = tablica[ 0 ];
    for( int i = 0; i < ile; i++ )
    {
        if( liczba < tablica[ i ] ) {
            liczba = tablica[ i ];
        }
    }
    return liczba;
}
int znajdzMaksimum( int tablica[], int ile )
{
    int liczba = tablica[ 0 ];
    for( int i = 0; i < ile; i++ )
    {
        if( liczba > tablica[ i ] )
        {
            liczba = tablica[ i ];
        }
    }
    return liczba;
}
void wypiszMinMax( int iMin, int iMax )
{
    std::cout << "Minimalna liczba to: " << iMin << std::endl;
    std::cout << "Maksymalna liczba to: " << iMax << std::endl;
}

int main()
{
    srand( time( NULL ) );
    int tablica[ 10 ];
    wylosujliczby( tablica, 10 );
    wypisztablice( tablica, 10 );
    std::cout << "*****" << std::endl;
    wypisztablicodtyli( tablica, 0 );
    int iMin = znajdzMinimum( tablica, 10 );
    int iMax = znajdzMaksimum( tablica, 10 );
    wypiszMinMax( iMin, iMax );
    return 0;
}
P-176114
pekfos
» 2020-01-23 18:01:20
C/C++
for( int i = 0; i < ile; i++ )
{
    tablica[ i ] = rand() % 21 + 10;
   
    int liczba = tablica[ 0 ];
   
    if( liczba == tablica[ i ] )
    {
        liczba = tablica[ i ];
    }
}
????
Losowanie bez powtórzeń było omówione w poprzedniej lekcji. Ten kod nawet nie wygląda jakby robił coś w kierunku eliminowania powtórzeń.
P-176118
« 1 »
  Strona 1 z 1