Witam.
Pisze program, który losuje 10 liczby z pewnego zakresu ustala wartość max i min wylosowanych liczb i podaje, na której pozycji znajdują się te liczby. Problem mam właśnie z tym przypisaniem pozycji nie wiem jak to zrobić.
Proszę o pomoc.
Pozycja wylosowanych liczb [C]
-
- Użytkownik
- Posty: 56
- Rejestracja: 23 lis 2008, o 14:54
- Płeć: Mężczyzna
- Lokalizacja: Wyszogród
- Podziękował: 1 raz
- Pomógł: 4 razy
Pozycja wylosowanych liczb [C]
1 losuj liczbe dopoki nie bedzie z przedzialu
2 szukaj min i max i wypisz
3 przeszukaj liczby od pierwszej do ostatniej, szukajac tych co chcesz, tylko, ze ja bym te liczby wpisal do tablicy to wtedy jak znajdzie max to wypiszesz ktory to element
2 szukaj min i max i wypisz
3 przeszukaj liczby od pierwszej do ostatniej, szukajac tych co chcesz, tylko, ze ja bym te liczby wpisal do tablicy to wtedy jak znajdzie max to wypiszesz ktory to element
-
- Użytkownik
- Posty: 32
- Rejestracja: 26 lis 2009, o 01:15
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Pomógł: 9 razy
Pozycja wylosowanych liczb [C]
z tego co rozumiem to masz już masz tą tabelke (array) z 10 losowymi wartościami i teraz problemem jest wyznaczenie pozycji najmniejszego i największego elementu. Dobrze zrozumiałem?
Ja bym najprościej zapisał ten algorytm tak:
nie uruchamiałem tego u siebie także mogły wkraść się małe błedy, ale ogólnie myśle, że o to Tobie mniejwięcej chodzi. pozdrawiam
Ja bym najprościej zapisał ten algorytm tak:
Kod: Zaznacz cały
int max = tab[0], min = tab[0]; // powiedzmy ze nasza tabela z losowymi liczbami nazywa sie tab
int max_id = 0, min_id = 0; // w min_id, max_id zapiszemy na koniec nasze pozycje w tabeli
int i;
for (i = 1; i < 10; i++)
{
if(tab[i] < min)
{
min = tab[i];
min_id = i;
}
else if(tab[i] > max)
{
max = tab[i];
max_id = i;
}
}
printf("maksymalna wartosc = %d, znajduje sie w tabeli na pozycji %d
", max, max_id);
printf("minimalna wartosc = %d, znajduje sie w tabeli na pozycji %d", min, min_id);
-
- Użytkownik
- Posty: 9
- Rejestracja: 6 lip 2010, o 13:09
- Płeć: Mężczyzna
- Lokalizacja: POLSKA
- Podziękował: 2 razy
Pozycja wylosowanych liczb [C]
Dzięki za pomoc.
Cały problem był w tym, ze źle przypisałem pozycje(u ciebie) min_id i max_id i wyskakiwały mi jakieś śmieszne wartości.
Dzięki jeszcze raz.
Cały problem był w tym, ze źle przypisałem pozycje(u ciebie) min_id i max_id i wyskakiwały mi jakieś śmieszne wartości.
Dzięki jeszcze raz.