/*7.II.5. Tee ohjelma, joka kysyy taulukkoon 5 positiivista
lukua ja etsii niistä suurimman sekä sen paikan taulukossa.
Ohjelman tulee varmistaa, ettei taulukkoon tule negatiivisia
lukuja. */
#include
#include
int Luvut[5];
int i=0;
int suurin;
void Kysy (void);
void Haku (int[]);
void main(void)
{
Kysy();
Haku(Luvut);
getch ();
}
void Kysy()
{
int apu;
for (i=0;i
lukua ja etsii niistä suurimman sekä sen paikan taulukossa.
Ohjelman tulee varmistaa, ettei taulukkoon tule negatiivisia
lukuja. */
#include
#include
int Luvut[5];
int i=0;
int suurin;
void Kysy (void);
void Haku (int[]);
void main(void)
{
Kysy();
Haku(Luvut);
getch ();
}
void Kysy()
{
int apu;
for (i=0;i
Vastaukset 5
Vanhimmat
Kokeile vaikka jättää tuo getch() -funktio kokonaan pois?
Kokeilin sitä ja se toimii ihan oikein.
Muuttujat kannattaisi määritellä paikallisena, eikä käyttää globaaleja. Lisäksi haku()-funktiossa käytetään turhaan samaa taulukkoa eri nimillä.
Kielessä ei ole mitään c :aan viittaavaa, vaan on hyvin pitkälle puhdasta c:tä.
Tuohan tosiaan toimii ihan tuollaisenaan OK.
Pieni kauneusvirhe Haku() funktiossa missä suurin pitää alustaa nollaksi eikä Numerot[0]:ksi.
Nyt se ei haittaa toimintaa mutta tulee ongelmaksi siinä vaiheessa kun haet suurimman paikkaa taulukossa.
Sehän täytyy merkata silloin kun se suurin taulukon arvo löytyy.
Koodissa on myös sellainen virhe, että tarpeettomien globaalien muuttujien käyttöä tulisi välttää.