option

Osnovi na programiranje 3

INFO STADISTICS RECORDS
TAKE THE TEST
Title of test:
Osnovi na programiranje 3

Description:
Pokazuvaci, Strukturi,Datoteki i Listi

Author:
Darko Martinovik
(Other tests from this author)

Creation Date:
07/01/2009

Category:
Computers
Share the Test:
Facebook
Twitter
Whatsapp
TAKE THE TEST
Last comments
No comments about this test.
Content:
Proben e-test Pred Vas se naogja uste eden e-test od temite Pokazuvaci, Strukturi,Datoteki i Listi. Koristete po potreba list i penkalo. Najgolem del od prasanjata sodrzat algoritmi. Srekno. Napraveno od Darko Martinovik.
Koi od slednite inicijalizacii e/se validna/dni za slednata struktura: struct identifikacija { char ime[20]; char prezime[20]; }; struct chovek { char matbr[14]; identifikacija podatoci; int plata; }; chovek c={ "12345" , "Darko" , "Martinovik" , 15000 } ; chovek c={ "12345" , "Darko" , "Martinovik" } ; chovek c={ "12345" , { "Darko" , "Martinovik" } , 15000 } ; chovek c={ "12345" , { "Darko" } , 15000 } ; chovek c={ { "12345" , "Darko" } , "Martinovik" , 15000 } ; chovek c={ "12345" , "Darko" , "Martinovik" , "15000" } ; chovek c={ 12345 , "Darko" , "Martinovik" , 15000 } ;.
Koi od slednive iskazi se tocni koga ke se napise sledniot kod vo C++ int p=30; int *pok=&p,*pok2; pok2 = new int; Promenlivite pok i pok2 se pokazuvaci Novata dinamicka promenliva, sto ja sozdava pok2 se skladira vo stack memorijata Novata dinamicka promenliva, sto ja sozdava pok2 se skladira vo heap memorijata Pokazuvacite pok i pok2 se promenlivi koi sodrzat adresi na memoriski lokacii od heap memorijata Pokazuvacite pok i pok2 se promenlivi koi sodrzat adresi na memoriski lokacii od stack memorijata Do promenlivata p mozeme da pristapime preku pokazuvacot pok. .
Koi od slednite kodovi vo C++ nemaat sintaksicki greski (ako se tocni stiklirate go kvadratceto pred kodot) long p=3; long *pok; pok=&p; float p=3.1; double *pok; pok=&p; char p[10]; char *pok; pok=&p; int p[10]; int *pok; pok=&p; int p=3; void *pok; pok=&p; int p=3,*pok=&p; int* *pok2=&pok; double p=3.1; float *pok; pok=&p;.
Sto ke se ispecati ako se napise sledniot kod: int a=3; int *pok=&a; int **pok2=&pok; a=a+*pok+**pok2; cout<<a; 3 6 9 nema da ispecati nisto bidejki kodot ima greski.
Sto ke se ispecati ako se napise sledniot kod: char a[ ]="PMF"; char *p; p=&a[0]; ++(++*p); *p++; ++*p ++; *p=*p-4; cout<<a; PMF QNF Ke javi sintaksicka greska RNF RNB.
Sto ke pecati slednata programa: void f(int *p) { *p=3; } void main() { int a=5; int *p=&a; f(p); cout<<a; } 5 3.
Sto pravi sledniot kod: int *p[100]; se kreira niza od 100 pokazuvaci se kreira niza od sto elementi, i pokazuvacot pokazuva na prviot element se kreira niza od sto elementi i kon sekoj element se kreira nov pokazuvac. .
Koi od slednite navedeni kodovi mozat da se dodadat na naznacenoto mesto za da programata nema greski: struct identifikacija { char ime[20]; }; structchovek { identifikacija podatoci; } c1; chovek *pok=&c1; cout<<"Vnesi go imeto na covekot: "; <<tuka treba da se dodade kod>> cin>>(*pok).ime; cin>>(*pok).podatoci.ime; cin>> pok -> podatoci.ime; cin>> pok.podatoci -> ime; cin>>(*pok.podatoci).ime; cin>> (pok -> podatoci).ime;.
Koj od slednive kodovi e/se tocen/tocni: ofstream dat; dat.open("in.txt"); dat<<"D"; ofstream dat; int a; dat.open("in.txt"); dat>>a; ofstream dat; dat.seekp(1); dat<<"D"; ofstream dat; dat.seekg(1); dat<<"D";.
Ako vo datotekata in.txt e napisano slednoto 1 11 2 23 34 10 Sto ke ispecati sledniot kod ifstream dat; dat.open("in.txt"); int a,i; char b; for (i=0;i<3;i++) { dat>>a; dat>>b; dat.seekg(i,ios::cur); cout<<a<<" "<<b<<" "; } 1 11 2 23 34 10 1 1 1 2 23 3 1 11 11 23 34 10 1 1 11 2 23 34.
Sto ke ispecati sledniot kod ako datotekata "in.txt" e: 1 2 3 4 5 6 7 8 9 10 ifstream dat; int a,b,c,z=0; dat.open("in.txt"); while (!dat.eof()) { dat>>a; dat.seekg(2,ios::cur); dat>>b; dat.seekg(-1,ios::end); dat>>c; z=z+a+b+c; } cout<<z; 4 14 55 ke javi greska pri izvrsuvanje.
Sto e tocno za listite? Adresata na prviot jazol e zacuvana vo drug pokazuvac (anker). Sekoja dvostrano povrzana lista treba da ima barem eden pokazuvac. Kaj ednostrano povrzana lista e dozvoleno dvizenje niz listata vo dvata pravci Za da dojdeme do petiot jazol od dinamickata lista go pisuvame imeto na ankerot i vo sredni zagradi pisuvame [4].
Sto raboti slednava funkcija vo C++: (n e broj na jazli) void f(jazol *prv,int n) { jazol *pom,*pom2; pom=prv; int i,j; for (i=0;i<n-1;i++) { pom2=pom; for (j=i+1;j<n;j++) { pom2=pom2->pok; if (pom2->vrednost<pom->vrednost) { int temp; temp=pom->vrednost; pom->vrednost=pom2->vrednost; pom2->vrednost=temp; } } pom=pom->pok; } } dodava uste eden jazol vo listata ja sortira listata naogja koj jazol e najmal i go stava na prvo mesto naogja koj jazol e najmal i go stava na posledno mesto dodava n-jazli vo listata.
Dadena ni e ednostrano povrzatana lista. Koi iskazi se tocni dokolku ja smenime vrednosta na ankerot vo NULL: Mozeme da se dvizime niz listata Listata e izbrisana od memorijata Listata postoi vo memorijata no ne mozeme da pristapime do nea Ne mozeme da dojdeme do prviot jazol, no mozeme do vtoriot i site ostanati jazli Jazlite vo listata ke bidat nepromeneti.
Koi od slednite iskazi se tocni za apstraktni tipovi na podatoci: Tie se prethodno napraveni tipovi i niv mozeme da gi koristime Site algoritmi mozat da se resat so koristenje na bilo koj apstrakten tip Strategijata na rabota na stekot e FIFO (First-In, First Out) Strategijata na rabota na redot e FIFO (First-In, First Out).
Sto ke ispecati programata, ako se napise sledniot kod: char a[]="efghi"; char *p=&a[0]; for (int i=0;i<4;i++) { *p-=i; *p++; } cout<<a; nisto, bidejki ima greska ke ispecati nekoi nepotrebni znaci eeeei defgh efghi.
Sto ke ispecati programata ako se napise kodot: int a=1; int *p=&a; int **p2=&p; **p2=**p2+*p+ ++*p; cout<<a; nisto, bidejki ima greska 1 6 4 3.
Sto ke ispecati sledniot kod struct covek { int vozrast; } covek a; a.vozrast=10; a.vozrast=a.vozrast*2; cout<<a.vozrast; nisto, bidejki kodot ima greska 10 20 12.
Sto pravi sledniot kod: (pokazuvacot prv e ankerot na listata, jazol e strukturata) void DodadiNaKraj (jazol *&prv) { jazol *tekoven; tekoven = new jazol; cin>>tekoven->podatok; tekoven->sleden=prv; prv=tekoven; tekoven=new jazol; delete tekoven; } Dodava jazol na pocetokot na listata Dodava jazol na krajot na listata Brise jazol na pocetokot na listata Brise jazol na krajot na listata.
Koi od slednive iskazi se tocni za sledniot kod: ifstream dat; dat.open("Datoteka"); Logickoto ime na datotekata e Datoteka Fizickoto ime na datotekata e dat Datotekata dat e vlezna datoteka, vo koja mozeme da zapisuvame Logickoto i fizickoto ime na datotekata se isti Od datotekata dat, dokolku postoi, mozeme da vcituvame podatoci.
Dali sledniot kod e tocen: ifstream dat("Error.txt"); ofstream dat2("Error.txt"); Da Ne.
Sto e tocno za izleznite datoteki: Ako datotekata postoi, togas se kreira nova datoteka so istoto ime Ako datotekata postoi, starata sodrzina ne se brise od datotekata Ako datotekata postoi, novata sodrzina od programata se dodava na starata sodrzina vo datotekata Ne smee da postoi datoteka so isto ime Ako datotekata postoi, za dodavanje na krajot na datotekata se koristi ios::app;.
Ova e mozebi najteskoto prasanje i nosi najmnogu poeni. Dokolku e tocen kodot stikliraj go kvadratceto: char a[]="PMF"; char *p=a; char a[]="PMF"; char *p=&a; char a; char *p; p=&a[0]; int a; int *p; *p=&a;.
Sto ke se ispecati ako se napise sledniot kod: int b=13,a=5; void funkcija(int *pok) { *pok=3; pok=&b; } void main() { int *pok=&a; funkcija(pok); cout<<*pok; } 3 5 13 nisto, bidejki kodot ima greska.
Go resi testot Go resi testot.Sepak ova bese samo eden proben test. Ne se razocaruvaj od rezultatite bidejki prasanjata bea dosta teski. Klikni Continue za da go vidis rezultatot od testiranjeto. Napraveno od Darko Martinovik.
Report abuse Terms of use
HOME
CREATE TEST
INFO
STADISTICS
RECORDS
Author's Tests