kris33 Napisano Wrzesień 21, 2010 Zgłoś Share Napisano Wrzesień 21, 2010 Witam. Jest to mój pierwszy post na forum więc chciałem się przywitać. Potrzebuje skrypt w którym losujemy 3 największe elementy tablicy tablica[x].poziom gdzie x to liczba do 11. Mam pewien kod ale niestety nie działa. Pomożecie? repeat i:=i+1; if (tablica[i].poziom1>max) and (tablica[i].poziom1<>0) then begin max:=tablica[i].poziom1; pozm:=i; end; until i=12; i:=0; repeat i:=i+1; if (tablica[i].poziom1>max1) and (tablica[i].poziom1<>max) then begin max1:=tablica[i].poziom1; pozm1:=i; end; until i=12; repeat i:=i+1; if (tablica[i].poziom1>max2) and (tablica[i].poziom1<>max) and (tablica[i].poziom1<>max1) then begin max2:=tablica[i].poziom1; pozm2:=i; end; until i=12; writeln('Maksymalna wartoscia jest ',max:0:2,' pozycja ',pozm); writeln('Druga wartoscia jest ',max1:0:2,' pozycja ',pozm1); writeln('Trzecia wartoscia jest ',max2:0:2,' pozycja ',pozm2); Problem polega na tym, że pierwsze i trzecie losowanie nie chodzi a w drugim pokazuje najwyższa liczbę. Link do komentarza Udostępnij na innych stronach More sharing options...
Spellsinger Napisano Wrzesień 21, 2010 Zgłoś Share Napisano Wrzesień 21, 2010 Tak patrząc na szybko: może dlatego że nie zerujesz "i" przed pierwszą i trzecią pętlą? Nie widać też jak deklarujesz zmienne max, max1 i max2, a też lepiej żeby były wyzerowane chyba... Link do komentarza Udostępnij na innych stronach More sharing options...
jozekkg Napisano Wrzesień 22, 2010 Zgłoś Share Napisano Wrzesień 22, 2010 Tak jak pisze Spellsinger. Jeszcze tylko jedna uwaga, czy nie wygodniej w takich przypadkach używać pętli "for.. to.."? Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.