Proszę o pomoc w zadaniu :
Napisz algorytm, który wyszuka najmniejszą liczbę w zadanej tablicy 5x5.
Potrzebuję to w schemacie blokowym, lecz wgl nie mam pojęcia jak zacząć /
Proszę o pomoc i wytłumaczenie w miarę możliwości.
[Algorytmy] Pomoc ;f
Rozpoczęty przez Hajtowy, 11 mar 2012 11:22
2 odpowiedzi w tym temacie
#1
Napisano 11 marzec 2012 - 11:22
#2
Napisano 11 marzec 2012 - 12:23
No sorry, ale nic prostszego nie może być:
1. Definiujesz typ tablicowy 5x5
2. Pobierasz tablicę 5x5
3. Tworzysz trzy zmienne - jedna jako minimum tablicy(n), dwie pozostałe jako indeksy (x,y)
4. Zmiennej minimum przypisujesz pierwszy element tablicy, indeksom pozycje tablicy [1,1].
5. Piszesz dwie pętle, chodzące razem po poziomie i pionie tablicy (zmienne i oraz j)
6. Dla KAŻDEGO elementu sprawdzasz, czy jest mniejszy od obecnego minimum. Jeśli tak, to
- do zmiennej n wpisujesz nową wartość minimum
- do x wartość zmiennej i z pętli
- do y wartość zmiennej j z pętli
7. Na końcu wystarczy wypisać wartości zmiennych n,x i y na ekranie. Koniec
Typ zmiennych dobierasz zależnie od treści zadania.
1. Definiujesz typ tablicowy 5x5
2. Pobierasz tablicę 5x5
3. Tworzysz trzy zmienne - jedna jako minimum tablicy(n), dwie pozostałe jako indeksy (x,y)
4. Zmiennej minimum przypisujesz pierwszy element tablicy, indeksom pozycje tablicy [1,1].
5. Piszesz dwie pętle, chodzące razem po poziomie i pionie tablicy (zmienne i oraz j)
6. Dla KAŻDEGO elementu sprawdzasz, czy jest mniejszy od obecnego minimum. Jeśli tak, to
- do zmiennej n wpisujesz nową wartość minimum
- do x wartość zmiennej i z pętli
- do y wartość zmiennej j z pętli
7. Na końcu wystarczy wypisać wartości zmiennych n,x i y na ekranie. Koniec
Typ zmiennych dobierasz zależnie od treści zadania.
AMD Phenom II 955
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W
#3
Napisano 11 marzec 2012 - 21:24
W zasadzie wystarczy jedna zmienna - min
Dwie pozostałe - wskaźniki na indeks w pętli - w zasadzie podaje się w definicji pętli.
Wracając. W schemacie to będzie coś takiego:
Dajmy na to postać funkcji (załóżmy, że n to ilość kolumn i wierszy (n na n) - t[n][n]):
Idąc od góry:
Definiujemy nasz algorytm jako funkcję, do której przekazujemy zmienną tablicową (można dodać drugą zmienną określającą rozmiar tablicy, w razie nie kwadratowej tablicy dwie zmienne, etc).
Następnie do zmiennej min (za razem ją inicjujemy/definiujemy) przypisujemy pierwszy element tablicy.
W kolejnym kroku zakładamy pierwszą pętlę poruszającą się po wierszach, druga pętla porusza się po kolumnach. Sprawdzamy, cze dana wartość nie jest przypadkiem mniejsza od aktualnie najmniejszej, jeśli jest to oznaczamy jako najmniejszą.
Po przejrzeniu wszystkich kolumn we wszystkich wierszach, zwracamy wartość zmiennej min czyli wartości najmniejszej w tablicy
Pozdrawiam.
Dwie pozostałe - wskaźniki na indeks w pętli - w zasadzie podaje się w definicji pętli.
Wracając. W schemacie to będzie coś takiego:
Dajmy na to postać funkcji (załóżmy, że n to ilość kolumn i wierszy (n na n) - t[n][n]):
Idąc od góry:
Definiujemy nasz algorytm jako funkcję, do której przekazujemy zmienną tablicową (można dodać drugą zmienną określającą rozmiar tablicy, w razie nie kwadratowej tablicy dwie zmienne, etc).
Następnie do zmiennej min (za razem ją inicjujemy/definiujemy) przypisujemy pierwszy element tablicy.
W kolejnym kroku zakładamy pierwszą pętlę poruszającą się po wierszach, druga pętla porusza się po kolumnach. Sprawdzamy, cze dana wartość nie jest przypadkiem mniejsza od aktualnie najmniejszej, jeśli jest to oznaczamy jako najmniejszą.
Po przejrzeniu wszystkich kolumn we wszystkich wierszach, zwracamy wartość zmiennej min czyli wartości najmniejszej w tablicy
Pozdrawiam.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych