/* * massiivid_ja_otsimine.c * * Programm demonstreerib järgmisi olulisemaid C-keele osi: * Muutujate deklareerimine (täisarvud) * Massiivi deklareerimine ja kasutamine * Massiivi suuruse määramine preprotsessori käsu abil (C-s puudub konstandi kasutamise võimalus) * Sisend ja väljund * for-tsükkel ja while-tsükkel * Loogikaavaldis * if-lause * */ #include /* Preprotsessori käsu (asendusdirektiiv) abil öeldakse, MaxN asendab 10 (mugav kasutada massiivi mõõtmena deklareerimisel ja töötlemisel) */ #define MaxN 10 main() { /* Programmi alguses deklareeritakse kõik programmis kasutatavad muutujad koos oma andmetüüpidega. * Antud juhul on kõik muutujad täisarvud ning int arvud[MaxN] tähendab täisarvudest koosnevale massiivile mälu eraldamist. */ int numbers[MaxN]; int sum, x, max, min; int i, lost, found; /* Andmete sisestuse tsükkel * tsüklimuutujale i antakse väärtus 0, määratakse tsükli kordumise tingimus (i> ", i); scanf("%d", &numbers[i]); } printf("Millist väärtust otsime?"); scanf("%d", &lost); found = 0; /* Järgnevas for-tsüklis on vaid 1 lause ja seetõttu pole kohustuslik tsükli piire {}-sulgudega määrata (vt eelmist tsüklit) * Siiski on {} kasutamine tavaliselt otstarbekas ja ka soovitatav. * Koodi treppimine (tsükli sisu taandega) kuulub aga heade tavade hulka */ for (i = 0; i < MaxN; i++) if (numbers[i] == lost) found = 1; /* Kahe poolega if-lause. * Ka siin on vajalikud {}, kui lauseid rohkem kui 1 */ if (found == 1) { printf("Oli olemas\n"); } else { printf("Pole olemas\n"); } found = 0; i = 0; /* while-tsükkel algab loogikaavaldisega (!found && i