Harjutus
1:
Fibonacci arvud: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,... F[1] = 1; F[2] = 1; F[3] = 2 = 1+1 = F[1]+F[2]; F[4] = 3 = 2+1 = F[2]+F[3]; jne. alates n = 3: F[n]=F[n-2]+F[n-1] Koosta programm, mis täidab vektori Fibonacci arvudega. Täienda programmi järgmiselt:
Võimalik lahendus |
|
Harjutus 2: Analüüsi ja käivita näide: #include
<stdio.h>
#include <stdlib.h> #include <time.h> int main (void) { int salajane, katse; /* juhuslike arvude generaatori initsialiseerimine */ srand ( time(NULL) ); /* juhusliku väärtuse genereerimine vahemikust 1..10 */ salajane = rand() % 10 + 1; /* do..while tsükkel kestab kuni kasutaja arvab ära juhusliku numbri */ do { printf ("Arva ära number (1 kuni 10): "); scanf ("%d",&katse); if (salajane<katse) { printf ("Salajane number on väiksem!\n"); } else if (salajane>katse) { printf("Salajane number on suurem!\n"); } } while (salajane!=katse); printf ("Palju onne! Arvasid ära, õige number oli %d!\n",salajane); return 0; } Muuda näidet nii, et salajane number genereeritakse vahemikus 50 kuni 59 Võimalik lahendus Harjutus 3: Analüüsi ja käivita näide: #include <stdio.h> #include <stdlib.h> #include <time.h> /* määrame elementide arvu loodavas vektoris*/ #define N 25 /* määrame maksimaalse võimaliku juhuarvu väärtuse*/ #define MAX_VALUE 100 int main(void) { int i; /*tsükliloendur*/ int arvud[N]; /*täisarvude vektor*/ srand(time(NULL)); /* täidame vektori juhuslike arvudega*/ for(i=0; i<N; i++) { /*genereerime juhusliku väärtuse vahemikust 0..MAX_VALUE */ arvud[i]=rand()%MAX_VALUE+1; } /*väljastame vektori*/ printf ("Juhuslike arvudega täidetud vektor on:\n"); for(i=0; i<N; i++) { printf("%d ",arvud[i]); } printf("\n"); return 0; } Muuda näidet nii, et: • Elementide arv vektoris on 15 • Juhuslikud väärtused genereeritakse vahemikus 1..1000 • Loodud vektor väljastatakse verikaalselt koos elementide järjekorranumbritega. Programmi töö näide:
Võimalik lahendus |
|
Harjutus 4: Üks
võimalik mullsortimise (Bubble Sort) pseudokood on selline:
} }
Katseta
nii kasvavat kui kahanevat järjestamist Võimalik lahendus |
|
Harjutus 5: Genereeri juhulike väärtustega täidetud vektor pikkusega 30. Vektoris olevad väärtused on vahemikus 1..55 Leia ja väljasta:
Programmi töö näide:
Võimalik lahendus |
|
Harjutus 6: Eksamil on 4 ülesannet, millest kaks esimest annavad 20 punkti ning kaks viimast kumbki 30 punkti. Leida eksamil saadud punktide arvule vastav hinne. NB! Kasuta hinnete salvestamiseks MASSIIVI Näiteks: int hinded[4] – 4-elemendileine hindeid siseldav massiiv int sum – muutuja, mis sisaldab punktide summat int hinded[5] – 5-elemendiline hinnete massiiv, viimane element on punktide summa Hinnete skaala on järgmine: 91..100 hinne 5 81..90 hinne 4 71..80 hinne 3 61..70 hinne 2 51..60 hinne 1 0..50 hinne 0 Näide: tudeng saab esimese ülesande eest 15p, teise ülesande ees 18p, kolmanda ülesane eest 24p, neljanda ülesande eest 22p. Kokku on tal 79p ehk hinne 3. Võimalik lahendus |
|
Harjutus 7: Kasutaja sisestab õhutemperatuuri näidu nädala igal päeval kell 12.00 Andmete salvestamiseks kasutatakse 7-elemendilist massiivi double tüüpi arvudega (0 vastab ESMASPÄEVale, 1 vastab TEISIPÄEVale jne.). Leida:
Võimalik lahendus |
Harjutus 8: Koosta programm, mis loob korrutustabeli. Realiseeri oma programmis järgmised võimalused:
Võimalik lahendus |
Harjutus 9: Käivita näide: #include <stdio.h>Programm failina On antud tudengite hindeid kajastav tabel. Iga rida vastab mingile konkreetsele tudengile. Veergudes on tudengi hinded erinevates ainetes. Realiseeri programmis järgmised võimalused:
Võimalik lahendus |
Harjutus 10: Koosta programm mis teeb järgmist:
Programmis deklareeritav struktuur:
Võimalik lahendus |
||
Harjutus 11: Koosta programm mis teeb järgmist:
Võimalik lahendus |
||
Harjutus 12: Koostada programm, mis töötab järgmiselt:
Programmi töö näide:
Võimalik lahendus |
||