Wartość maksymalna

bandito88

Użytkownik
Dołączył
Sierpień 8, 2007
Posty
114
Witam wszystkich. Uczę się na poprawkę z programowania C++ i robię sobie zadanka. Trafiłem na takie:

"Napisz program, który w podanym zbiorze liczb znajdzie wartość maksymalna."

No i tu problem, myślę i myślę i mi nie wychodzi. Jestem ciekawy jak ten program wygląda dlatego piszę. Chodzi tutaj aby napisany był w oparciu o tablice. Naprawdę to ważne bo mam mieć podobny przykład na poprawce. Z góry dzięki
smile.gif


PS. Może proste ale dla mnie trudne
<
 

Legalnl

Użytkownik
Dołączył
Październik 8, 2008
Posty
828
hmmm mozesz przecierz w pętli pobrac pokolei kazdą wartość tablicy i porownac. jezeli jest wieksza to przypisać do zmiennej int x. jezeli nie to szukasz dalej. i po zakonczeniu pętli będziesz miał w zmiennej x najwieksząwartośc

// nie wiem czy Cie dobrze zrozumialem ale chyba o to chodzi
<


pozdro
 

bandito88

Użytkownik
Dołączył
Sierpień 8, 2007
Posty
114
Spoko dobrze zrozumiałeś. Tylko nie wiem co mam porównywać? Tak zrobiłem ale źle
<

Kod:
[i]int tab[4]={5,9,2,1},x;
    
for(int i=0;i<4;i++)

if(tab[i]>tab[i+1])
    tab[i]=x;
else
    tab[i+1]=x;[/i]
 

bziomek

Użytkownik
Dołączył
Lipiec 14, 2008
Posty
51
Nie znam składni c++, poprawiam więc twój kod.
Jakoś tak to powinno być

Kod:
int tab[4]={5,9,2,1},x;

x=tab[0];

for(int i=1;i<4;i++)
if(tab[i]>x)
x=tab[i];
 

widmo17

Były Moderator
Dołączył
Lipiec 16, 2007
Posty
1089
Kod:
#include <iostream.h>
#include <conio.h>

int main(){
   cout<<"Podaj jakies liczby:\n";
   int liczba[5];
   for(int i=0;i<6;i++){
     cin>>liczba[i];      
   }
   
   int max=liczba[0];
   for(int j=0;j<6;j++){
     if(max<liczba[j]){
       max=liczba[j];                        
     }
   }
   
   cout<<"Wartosc maksymalna to: "<<max;
   getch();
}

Coś w tym stylu?
 

Damn3d

Użytkownik
Dołączył
Kwiecień 18, 2009
Posty
88
Kod:
int num [] = {19, 2, 3, 4, 5, 6};
int *max;

for (unsigned n = 0; n < sizeof(num) / sizeof(int); ++n) {
  if (max != NULL && num[n] > *max) max = &num[n];
}

cout << *max << endl;
EDIT: Ee, juz pomognięte.
 

tobix10

Użytkownik
Dołączył
Luty 25, 2009
Posty
65
Kod:
int max=liczba[0];
   for(int j=0;j<6;j++){
     if(max<liczba[j]){
       max=liczba[j];
Doczepię się
<
Po co sprawdzać max z elementem nr
<
0 skoro na początku jest ono równe właśnie jemu ?
<
 

widmo17

Były Moderator
Dołączył
Lipiec 16, 2007
Posty
1089
Doczepię się tongue.gif Po co sprawdzać max z elementem 0 skoro na początku jest ono równe właśnie jemu ? tongue.gif[/b]
To nie jest zero, tylko pierwsza wartość z tablicy. Jakby było zero, to gdyby w tablicy były np. tylko wartości ujemne i wydrukowało by zero, mimo że by go nie było w tablicy ;] Algorytmy <3
 

Damn3d

Użytkownik
Dołączył
Kwiecień 18, 2009
Posty
88
A ja się swojego doczepie, bo powinno być
Kod:
int* max = 0;
;P
Inaczej się prawdopodobnie scrashuje.
 
Do góry Bottom