#include
if(pu->v!=NULL){ pu->v=loe(); } if(pu->p!=NULL){ pu->p=loe(); } return(pu); } void *labiay(struct puu *pu){ if(pu->v!=NULL){ labiay(pu->v); } printf("%sn",pu->vt); if(pu->p!=NULL){ labiay(pu->p); } } void *labiya(struct puu *pu){ if(pu->p!=NULL){ labiya(pu->p); } printf("%sn",pu->vt); if(pu->v!=NULL){ labiya(pu->v); } } int main(int argc,char *argv[]){ struct puu *failist; struct puu *juur=NULL; struct puu *sisestatud; int r; if(argc!=2){//kui faili nimi puudu siis lõppu printf("Sisestada tuleb puu nimi!n"); goto lopp; } mf=fopen(argv[1],"rb"); if(mf==NULL)goto tsyk; //kui faili pole siis läheb küsimise juurde juur=loe(); labiay(juur); tsyk: printf("nv6ti="); gets(vt); if(strlen(vt)==0) goto ots; failist=uus_puu(vt); sisestatud=juur; if(juur
1. Klvaiatuurilt korduvalt sisestatakse naturaalarvud;
2. ekraanile väljastatakse neev arvud, mis ei sisalda korduvaid numbreid;
3. jätkatakse kuni küsimusele järkamse soovi kohta sisestatakse vastus 'ei'.
4
Algoritm
5
6
Programmikood
#include
Samamoodi on võimalik viikusid ka sisenditeks defineerida, kirjutades TRIS registrisse vastavate bittide väärtuseks 1. Sisendiolekut näitavad vastava PORT registri bitid. Mis on põhiprogramm ja milleks kasutatakse almprogramme? Põhiprogramm koosneb hulgast funktsioonidest, mis üksteist vajaduse korral väljakutsuvad. Iga programm omab aga üht funktsiooni, mis aktiveeritakse ainult programmi algul ja mida teised funktsioonid välja ei kutsu, ja nimelt: int main(int argc, char argv[]), see on põhiprogrammi algus. Tüüpiliselt on vaja kasutada alamprogramme siis, kui samasisuline tegevus (ehk samasugune käskude jada) esineb programmis kahes või enamas kohas. Sellega me taotleme, et programm tuleks võimalikult lühikene. Kuid see ei ole ainus põhjus. Tihti on otstarbekas jagada programm loogilisteks üksusteks parema loetavuse huvides. Kui kogu programmi pikkuseks on tuhat rida ja