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

Losowanie x liczb , i znalezienie największej

Ostatnio zmodyfikowano 2011-03-29 22:24
Autor Wiadomość
Elano92
Temat założony przez niniejszego użytkownika
Losowanie x liczb , i znalezienie największej
» 2011-03-28 20:15:32
C/C++
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
    int ilosc;
    int b;
    int tab[ 999 ];
    int k = tab[ 0 ];
    int c;
   
    cout << "podaj ilosc" << endl;
    cin >> ilosc;
   
    srand( time( NULL ) );
   
   
    for( int a = 1; a <= ilosc; a++ )
    {
        tab[ b ] =( rand() % 76 ) + 23;
        cout << tab[ b ] << "\n";
    }
    for( c = 1; c <= ilosc; c++ )
    {
        if( tab[ b ] > k )
             k = tab[ b ];
       
    }
    cout << "najwieksza" << k << endl;
   
   
    getch();
    return 0;
}


błąd przy szukaniu największej
P-29895
malan
» 2011-03-28 20:42:27
Jeżeliby to zrobić idąc Twoim tokiem myślenia to powinno być tak:
C/C++
#include <ctime>
#include <iostream>

const int ARRAY_SIZE = 10;

int main()
{
    srand( time( 0 ) );
   
    int array[ ARRAY_SIZE ];
    int * ptr = & array[ 0 ];
   
    for( int i = 0; i < ARRAY_SIZE; ++i )
    {
        array[ i ] = rand() % 500 + 0;
       
        std::cout << array[ i ] << std::endl;
    }
   
    for( int i = 0; i < ARRAY_SIZE; ++i )
    {
        if( array[ i ] > * ptr )
             ptr = & array[ i ];
       
    }
   
    std::cout << * ptr;
}
A normalnie to się robi raczej tak:
C/C++
#include <ctime>
#include <iostream>

const int ARRAY_SIZE = 10;

int main()
{
    srand( time( 0 ) );
   
    int array[ ARRAY_SIZE ];
   
    for( int i = 0; i < ARRAY_SIZE; ++i )
    {
        array[ i ] = rand() % 500 + 0;
       
        std::cout << array[ i ] << std::endl;
    }
   
    int n = array[ 0 ];
   
    for( int i = 0; i < ARRAY_SIZE; ++i )
    {
        if( array[ i ] > n )
             n = array[ i ];
       
    }
   
    std::cout << n;
}
Widzisz już swój błąd? :)
      
   
P-29898
Elano92
Temat założony przez niniejszego użytkownika
» 2011-03-28 21:14:09
dla mnie wasz kod jest nieczytelny,nieprzyjemny dla oka , zrobiłem to tak , ocencie:

C/C++
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
    int ilosc;
    int b;
    int tab[ 999 ];
    int k = tab[ 0 ];
    int c;
   
    cout << "podaj ilosc" << endl;
    cin >> ilosc;
   
    srand( time( NULL ) );
   
   
    for( int a = 1; a <= ilosc; a++ )
    {
        tab[ a ] =( rand() % 76 ) + 23;
        cout << tab[ a ] << "\n";
    }
    for( c = 0; c <= ilosc; c++ )
    {
        if( tab[ c ] > k )
             k = tab[ c ];
       
    }
    cout << "najwieksza" << k << endl;
   
   
    getch();
    return 0;
}
P-29901
DejaVu
» 2011-03-28 21:26:37
Czemu ideksujesz tablicę od 1? W C++ tablice indeksowane są od 0, więc pętle operujące na tablicach również się pisze od 0.
P-29903
malan
» 2011-03-28 21:28:03
Ocena: 1.
podaj ilosc
10
89
41
98
27
87
85
43
57
82
24
najwieksza52428
Porównaj sobie mój drugi przykład ze swoim kodem i postaraj się znaleźć tą jedną, istotną różnicę ;)
P-29905
Elano92
Temat założony przez niniejszego użytkownika
» 2011-03-28 22:07:12
ja nie rozumiem swoich błędów ;/ najlepiej jakbyście skopiowali program i dodawali komentarze , będzie mi łatwiej .
P-29911
hashedone
» 2011-03-29 16:43:07
Zaraz po pobraniu danych wyświetl tablicę, to zobaczysz gdzie masz błąd.
P-29931
Elano92
Temat założony przez niniejszego użytkownika
» 2011-03-29 18:25:46
mi działa poprawnie
P-29939
« 1 » 2
  Strona 1 z 2 Następna strona