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

Lekcja 22 - 3 zadanie

Ostatnio zmodyfikowano 2014-08-21 14:20
Autor Wiadomość
Marcinxxl2
Temat założony przez niniejszego użytkownika
Lekcja 22 - 3 zadanie
» 2014-08-21 01:10:49
Hejka, mam mały problem z 3 zadaniem z 22 lekcji. Chodzi o to, że zostaje wyświetlone tylko 9 liczb "od przodu", zamiast 10. Liczby "od tył" działają poprawnie.

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void wylosujLiczby( int t[], int i )
{
    for( int test = 0; test <= i; test++ )
    {
        t[ test ] =( rand() % 21 ) + 10;
    }
   
}
void wypiszTablice( int t[], int i )
{
    for( int test = 0; test < i; test++ )
    {
        cout << "Liczby: " << t[ test ] << endl;
    }
}
void wypiszTabliceOdTylu( int t[], int i )
{
    for( int test = i; test > 0; test-- )
    {
        cout << "Liczby od tylu: " << t[ test ] << endl;
    }
}
int znajdzMinimum( int t[], int i )
{
    int mn = t[ 0 ];
    for( int test = 1; test < i; test++ )
    {
        if( mn < t[ test ] )
        {
            mn = t[ test ];
        }
    }
    return mn;
}
int znajdzMaksimum( int t[], int i )
{
    int mx = t[ 0 ];
    for( int test = 1; test < i; test++ )
    {
        if( mx > t[ test ] )
        {
            mx = t[ test ];
        }
    }
    return mx;
}
void wypiszMinMax( int mn, int mx )
{
    cout << mn << endl;
    cout << mx << endl;
}
int main()
{
    srand( time( NULL ) );
    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;
}
P-115843
Mateus.
» 2014-08-21 08:41:39
C/C++
void wylosujLiczby( int t[], int i )
{
        for( int test = 0; test <= i; test++ )
        {
                t[ test ] =( rand() % 21 ) + 10;
            }
       
}

Wychodzisz poza zakres tablicy.
P-115845
1aam2am1
» 2014-08-21 08:59:15
C/C++
void wypiszTabliceOdTylu( int t[], int i )
{
    //Edit:
    --i;
    //Edit
   
    for( int test = i; test > 0; test-- ) //>= ma być dla 0 tez istnieje
    {
        cout << "Liczby od tylu: " << t[ test ] << endl;
    }
}
P-115847
pekfos
» 2014-08-21 11:12:42
Wychodzisz poza zakres tablicy.
W wypiszTabliceOdTylu() też.
P-115848
Marcinxxl2
Temat założony przez niniejszego użytkownika
» 2014-08-21 13:37:04
A teraz?

Zmieniłem już, żeby zapisywał na tablicy od 0 do 9, a nie od 0 do 10, ale nadal to samo:

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void wylosujLiczby( int t[], int i )
{
    for( int test = 0; test < i; test++ )
    {
        t[ test ] =( rand() % 21 ) + 10;
    }
   
}
void wypiszTablice( int t[], int i )
{
    for( int test = 0; test < i; test++ )
    {
        cout << "Liczby: " << t[ test ] << endl;
    }
}
void wypiszTabliceOdTylu( int t[], int i )
{
    i--;
    for( int test = i; test >= 0; test-- )
    {
        cout << "Liczby od tylu: " << t[ test ] << endl;
    }
}
int znajdzMinimum( int t[], int i )
{
    int mn = t[ 0 ];
    for( int test = 1; test < i; test++ )
    {
        if( mn < t[ test ] )
        {
            mn = t[ test ];
        }
    }
    return mn;
}
int znajdzMaksimum( int t[], int i )
{
    int mx = t[ 0 ];
    for( int test = 1; test < i; test++ )
    {
        if( mx > t[ test ] )
        {
            mx = t[ test ];
        }
    }
    return mx;
}
void wypiszMinMax( int mn, int mx )
{
    cout << mn << endl;
    cout << mx << endl;
}
int main()
{
    srand( time( NULL ) );
    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;
}
P-115861
damian19dk
» 2014-08-21 14:15:28
Twój program działa dobrze i wypisuje 10 liczb, ale wyświetlane dane nie "mieszczą" się w konsoli i przewija Ci o jeden wiersz. Przewiń konsolę do góry i zobacz.
P-115863
pekfos
» 2014-08-21 14:17:09
Funkcja od minimum znajduje maksimum i na odwrót.
P-115864
Marcinxxl2
Temat założony przez niniejszego użytkownika
» 2014-08-21 14:20:43
Och, głupi jestem, rzeczywiście ;p

Okej, dzięki za pomoc, a i rzeczywiście wyszukiwanie było pomieszane, dziwne, teraz jest ok.
P-115866
« 1 »
  Strona 1 z 1