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

Największa liczba

Ostatnio zmodyfikowano 2011-04-03 17:52
Autor Wiadomość
McAffey
» 2011-04-03 15:05:44
@Elano92 Pomyśl, jak dopiszesz 0 to  będzie porównywał czy liczba jest <= od 0 i zawsze na końcu pokaże Ci najmniejszą zero.
Przy pierwszym porównaniu nie masz zadeklarowanej dla
min
 żadnej wartości, masz szczęście że program się nie wysypuje. Przed porównaniami (które masz na "końcu" pętli) powinieneś dopisać
if( a == 1 ) min = losowa[ 1000 ];
.

edit: Kolega mnie uprzedził, tak też można ;)
P-30214
Elano92
Temat założony przez niniejszego użytkownika
» 2011-04-03 15:12:40
nie rozumiem przepisz ten program z tą wzmianką , bo do końca nie wiem o co ci chodzi
P-30215
McAffey
» 2011-04-03 15:18:13
...

C/C++
#include <conio.h>
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    srand( time( NULL ) );
   
    int a, losowa[ 1000 ], min, max = 0, i;
   
    for( a = 1; a <= 6; a++ )
    {
        losowa[ 1000 ] = rand() % 9 + 1;
        cout << a << "  wylosowana: " << losowa[ 1000 ] << endl;
       
        if( a == 1 ) min = losowa[ 1000 ];
       
        if( losowa[ 1000 ] >= max ) max = losowa[ 1000 ];
       
        if( losowa[ 1000 ] <= min ) min = losowa[ 1000 ];
       
    }
   
   
   
    cout << "\n" << " Najwieksza " << max << endl;
    cout << "\n" << " Najmniejsza " << min << endl;
   
    getch();
    return 0;
}
P-30217
Elano92
Temat założony przez niniejszego użytkownika
» 2011-04-03 15:33:58
dobra już kumam tylko powiedz co mi ta linijka daje ?
P-30221
ison
» 2011-04-03 15:37:26
szyx_yankex
C/C++
#include <iostream>
int Max( int * Tab, int size )
{
    int Max = Tab[ 0 ];
    for( int a = 0; a < size; ++a )
    for( int b = 0; b < size; ++b )
         if( Max < Tab[ b ] ) Max = Tab[ b ];
   
    return Max;
}

int main()
{
    int Tab[] = { 1, 2, 3, 4, 233, 44 },
    size = sizeof( Tab ) / 4;
    std::cout << Max( Tab, size );
}
przecież ten pierwszy for do niczego nie jest potrzebny...

C/C++
int Max( int * Tab, int size )
{
    int Max = Tab[ 0 ];
    for( int a = 0; a < size * size; ++a )
         if( Max < Tab[ a % size ] ) Max = Tab[ a % size ];
   
    return Max;
}
dlaczego lecisz forem do size*size i potem modulujesz a przez size? :D
nie można tak:
C/C++
for( int a = 0; i < size; ++a )
     if( Max < Tab[ a ] ) Max = Tab[ a ];

?

McAffey
Przy pierwszym porównaniu nie masz zadeklarowanej dla min żadnej wartości, masz szczęście że program się nie wysypuje.
wysypać się nie wysypie, co najwyżej da zły wynik
P-30222
McAffey
» 2011-04-03 15:39:57
@Elano92 Bez tej linijki gdy masz pierwsze porównanie
if( losowa[ 1000 ] <= min )
 to zmienna
min
 nie ma przypisanej żadnej wartości i masz szczęście, że program przez to się nie wykrzacza. A dzięki linijce którą dodałem, gdy jest pierwszy obieg pętli (czyli właśnie zmienna
min
 nie ma jeszcze przypisanej żadnej wartości) to przypisujesz zmiennej
min
 wartość pierwszej wylosowanej liczby przyjmując ją jako początkowy "wyznacznik" najmniejszej liczby.
P-30223
ison
» 2011-04-03 15:41:43
to zmienna min nie ma przypisanej żadnej wartości i masz szczęście, że program przez to się nie wykrzacza.
jakąś ma przypisaną, tylko nie wiadomo jaką, program się nie wykrzaczy
P-30224
McAffey
» 2011-04-03 15:42:57
No dobrze, program się nie wykrzaczy ale może dawać zły wynik.
P-30225
1 2 « 3 » 4
Poprzednia strona Strona 3 z 4 Następna strona