Produktkatalog analysatorn (C ++ kodning) (5 / 8 steg)
Steg 5: Funktionen algoritm (funktion 3)
Funktion 3:
vän void most_costly (produkt * p, int n)
Denna funktion tar också adressen till det första objektet i matrisen av objekt in i pekaren variabel p, och också tar antalet objekt som deklarerats i variabeln n heltal.
Nu finns det något jag lärt mig från min lärare. När jag vill söka för det högsta värdet i en matris med värden, jag deklarerar en variabel, säger "max1", och ge det det lägre värdet än någon någonsin kommer att föras in i matrisen vars maximala värde jag vill hitta. Här, får inte priset på varje produkt vara noll, så jag ger det lägsta värdet "0". Nu kör jag en slinga jämföra varje objekt (produkt) pris med denna variabel "max1" av värdet 0. Om värdet vid jämförelse (här produktens pris) är större än "max1", då jag lagra värdet (pris) i "max1", och fortsätta till nästa värde i arrayen (nästa produktens pris). Så för omedelbar nästa jämförelse jämför vi faktiskt föregående produktens pris i "max1" med nuvarande produktens pris. Om nuvarande produktens pris är större än den tidigare produkten sedan jag lagra aktuella produktens pris i "max1". Och denna process fortsätter. Så till slut kommer jag faktiskt har det högsta pris värdet i alla objects(products), lagras i "max1". Så, jag fick reda på det högsta priset som nu!
Efter detta kör jag en annan slinga, jämföra detta värde i "max1" (vilket är det högsta priset) med varje produkt pris, och när det passar, jag skriva ut produktens detaljer, som i huvudsak skriva ut mest kostsamma produktens Detaljer!
(Se bild för koden)
PS: För någon kod del som jag har missat att sätta bilder av, se koden filerna som jag har lagt upp. (För ex: det finns inget foto visar koden för att initiera variabeln "max1" till 0.: P)