






































Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
stringovi, uvod u programirnje
Tipologija: Esej
1 / 46
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!







































/Napisati program na C-u kojim se sa tastature unosi rečenica iz koje je potrebno u novi string izdvojiti riječ koja počinje sa velikim slovom (prvu riječ u rečenici ne uzimati u obzir). Npr. iz rečenice “Dobar dan Marko.” Treba izdvojiti riječ “Marko”, a iz rečenice “Ivica i Marica su djeca siromašnog stolara.” izdvojiti “Marica”. Smatrati da se riječi razdvajaju znakovima: ' ' ', ' i '.' / #include<stdio.h> #include<stdlib.h> #define MAX 100 void izdvoji(char string[]) { int i=0,duzina=0,k=0; char pom[MAX]; //Odredjujemo duzinu stringa while(string[duzina]!=NULL) { duzina++; } //Zatim prelazimo na glavni dio zadatka for(i=1; i<duzina; i++) { if(string[i]>='A' && string[i]<='Z') { while(string[i]!=NULL && string[i]!=' ' && string[i]!=',' && string[i]! ='.') { pom[k++]=string[i]; i++; } pom[k++]=' '; } } pom[k]=NULL; printf("\n\n Dobijeni string:"); puts(pom); } /*********************************************************************************************************/ /Iza i ispred svake pojave slova A postaviti K zvjezdica,broj K , broj zvjezdica koje zelimo da postavimo ispred i iza slova A unosimo sa tastature.K mora biti u opsegu [1,5],cijeli broj ..npr za string 'Ako Aleksandar'...za K=2 bice AkoAleksandar. Nije dozvoljeno koristiti pomocne stringove i ASCII tabelu/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 100
main() { char string[MAX]; int i,j,p,K,duzina; printf("Unesite string:"); gets(string); duzina=strlen(string); printf("\nUnesite cijeli broj K:"); do{ scanf("%d",&K); }while(K<1 || K>5); //Mehanizam za postavljanje zvjezdica iza svake pojave znaka A for(i=0; i<duzina; i++) { if(string[i]=='A') { for(p=0; p<K; p++) { duzina++; for(j=duzina-1; j>i; j--) { string[j]=string[j-1]; } string[j+1]='*';
system("pause"); } 4)/Napisati funkciju kojoj se prosljedjuju dva stringa(ime i prezime),a kao rezultat vraća se novi string koji se sastoji od prvog slova imena,tacke razmaka i prezimena.Npr. ako je prosljedjeno ime Marko, a prezime Markovic,kao rezultatt se dobija string M. Markovic/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 100 void ime_prezime (char ime[], char prezime[]) { int i,j,duzina_ime,duzina_prezime,k=0; char pom[MAX]; duzina_ime=strlen(ime); duzina_prezime=strlen(prezime); pom[k]=ime[0]; pom[++k]='.'; pom[++k]=' '; for(j=0; j<duzina_prezime; j++) {
pom[k]=prezime[j]; ++k; } pom[k]='\0'; printf("\n\nTrazeni string:\n\n"); puts(pom); } main() { char ime[MAX], prezime[MAX]; printf("Unesite ime:\n\n"); gets(ime); printf("\n\nUnesite prezime:\n\n"); gets(prezime); ime_prezime(ime,prezime); system("pause"); } //U obliku funkcije
string[j]=''; } i=i+K+1; } } //Umetanje zvjezdica poslije A for(i=0; i<duzina; i++) { if(string[i]=='A') { for(p=0; p<K; p++) { duzina++; for(j=duzina-1; j>i; j--) { string[j]=string[j-1]; } string[j+1]=''; } } }
string[duzina]=NULL; puts(string); } main() { char string[MAX]; int K; printf("\n\nUnesite string:"); gets(string); do{ printf("\n\nUnesite broj zvjezdica K:"); scanf("%d",&K); }while(K<1 || K>5); umetni(string,K); system("pause"); } /*************************************************************************************/ /*Napisati fuknciju kojoj se prosledjuju dva stringa
int duzina=0,i; while(recenica[duzina]!=NULL) { duzina++; } for(i=0; i<duzina; i++) { if(recenica[i]>='a' && recenica[i]<='z') { recenica[i]=recenica[i]-32; } else if(recenica[i]>='A' && recenica[i]<='Z') { recenica[i]=recenica[i]+32; } } printf("\n\nTrnasormisani string:\n\n"); puts(recenica); } main() { char recenica[MAX]; printf("\n\nUnesite recenicu:\n\n"); gets(recenica); pretvori(recenica); system("pause"); } /*******************************************************************************/ /Napisati program kojim se u funkciji main sa tastature unose dva stringa: prvi string u formatu ime_prezime_broj_indeksa,a zatim drugi string ime_oca. Pozivom pomocne funkcije sredi_string izvrsiti transformaciju prvog stringa tako da se poslije imena u njega ubaci ime oca u malim zagradama.Npr. ako je sa tastature unijet prvi string Marko Markovic 1560 i drugi Janko,transformisan prvi string ce izgledati Marko(Janko)Markovic 1560.U funkciji main stampati na ekran transformisan prvi string./ /******************ISPITNI 14.7.2016.***********************************/ #include<stdio.h> #include<stdlib.h> #define MAX 100 void sredi_string (char ime_prezime_broj_indeksa[], char ime_oca[]) { int M=0,N=0,i,j,k,p; //Trazimo duzinu prvog stringa while(ime_prezime_broj_indeksa[M]!=NULL) { M++; } while(ime_oca[N]!=NULL)
//Prvo cemo u string sa imenom oca dodati zagrade N++; ime_oca[N-1]=')'; N++; for(j=N-1; j>0; j--) { ime_oca[j]=ime_oca[j-1]; } ime_oca[j]='('; ime_oca[N]=NULL; //Sada prelazimo na string ime_prezime_broj_indeksa k=0; while(ime_prezime_broj_indeksa[k]!=' ') { k++; } j=N-1; for(p=0; p<N ; p++) { M++; for(i=M-1; i>k; i--) { ime_prezime_broj_indeksa[i]=ime_prezime_broj_indeksa[i-1]; } ime_prezime_broj_indeksa[i+1]=ime_oca[j--]; } ime_prezime_broj_indeksa[M]=NULL; printf("\n\nTrnasformisan prvi string izgleda ovako:\n\n"); puts(ime_prezime_broj_indeksa); } main() { char ime_prezime_broj_indeksa[MAX],ime_oca[MAX]; printf("\n\nUnesite ime,prezime i broj ideksa:\n\n"); gets(ime_prezime_broj_indeksa); printf("\n\nUnesite ime oca:\n\n"); gets(ime_oca); sredi_string(ime_prezime_broj_indeksa,ime_oca); system("pause"); } /* program na programskom jeziku C,
//Uradicu preko funkcije,tako da f-ji proslijedi string i njegovu duzinu #include<stdio.h> #include<stdlib.h> #define MAX 100 void izmijeni (char string[],int duzina) { int i,j,duzinaS,duzinaN,n,k,br=0,m; char stari[]={"stari"},novi[]={"novi"}; //izracunacemo prvo duzinu stringa stari ,a zatim duzinu stringa novi duzinaS=0; while(stari[duzinaS]!=NULL) { duzinaS++; } duzinaN=0; while(novi[duzinaN]!=NULL) { duzinaN++; } for(i=0; i<duzina; i++) { if(string[i]=='s') { n=i; //sacuvacemo nas brojac u neku pomocnu varijablu ,da ne reetimo kasnije poijeranje brojaca m=i; for(k=0; k<duzinaS; k++) { if(stari[k]==string[n]) { br++; n++; } if(br==duzinaS) { for(j=0; j<duzinaN; j++) { string[m++]=novi[j]; } } } br=0; } } //Jos da se rijesimo duplanja i for(i=0; i<duzina; i++) { if(string[i]=='i' && string[i+1]=='i') { for(j=i+1; j<duzina; j++) { string[j]=string[j+1]; } duzina--; } }
main() { char recenica[MAX]; int duzina; printf("\n\nUnesite recenicu:\n\n"); gets(recenica); duzina=0; while(recenica[duzina]!=NULL) { duzina++; } izmijeni(recenica,duzina); printf("\n\nTransformisani string izgleda ovako:\n\n"); puts(recenica); system("pause"); } /*********************************************************************/ /2.Napisati program na C-u kojim se pri deklaraciji inicijalizuje string S u formatu #ime#prezime#broj_indeksa#, gde ime, prezime i broj indeksa predstavljaju vaše ime, prezime i broj indeksa, a potom se vrši njegova transformacija tako da se deo stringa prezime zameni sa *************** (15 zvezdica). Npr. string #ana#stanic#987# treba da posle transformacije postane #ana#***************#987#. Pri transformaciji stringa nije dozvoljeno koristiti pomoćne nizove. Štampati transformisani string na ekran./ #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 100 main() { char string[]="#ana#stanic#987#"; int i,duzina,j,n,br_taraba=0,duzina_prezime=0,index,p; duzina=strlen(string); for(i=1; i<duzina; i++) { if(string[i]=='#') { br_taraba++; if(br_taraba==1) { i++; index=i; while(string[i]!='#') { duzina_prezime++; i++;
int duzina,i,j,ostatak_zvjezdica,ukupan_br_zvjezdica,p,duzina_prezime=0; duzina=0; while(string[duzina]!=NULL) { duzina++; } ukupan_br_zvjezdica=15; for(i=1; i<duzina; i++) { if(string[i]=='#') { i=i+1; while( string[i]!='#') { duzina_prezime++; i++; } ostatak_zvjezdica=ukupan_br_zvjezdica-duzina_prezime; i=i-duzina_prezime; for(p=0; p<duzina_prezime; p++) { string[i++]=''; } for(p=0; p<ostatak_zvjezdica; p++) { duzina++; for(j=duzina-1; j>i; j--) { string[j]=string[j-1]; } string[j]=''; } i=i+(duzina-i);; } } string[duzina]=NULL; } main() { char string[]={"#ana#stanic#987#"}; ubaci_zvjezdice(string); printf("\n\nDobijeni string:\n\n"); puts(string); system("pause"); } /*********************************************************************/ /*Na programskom jeziku C napisati pomoćnu funkciju nadovezi() kojoj se iz glavnog programa prosleđuju 2 stringa a funkcija vrši nadovezivanje sadržaja drugog stringa na sadržaj prvog. U funkciji main() uneti sa tastature stringove S1 i S2,
a na ekran odštampati transformisan prvi string. Korišćenje pomoćnih nizova i globalnih promenljivih nije dozvoljeno. Zadatak rešiti bez korišćenja header fajla string.h.*/ //Uradicu preko funkcije #include<stdio.h> #define MAX 100 #include<stdlib.h> void nadovezi ( char S1[], char S2[]) { int duzina1,duzina2,i,j,p; duzina1=0; while(S1[duzina1]!=NULL) { duzina1++; } duzina2=0; while(S2[duzina2]!=NULL) { duzina2++; } for(j=0; j<duzina2; j++) { duzina1++; S1[duzina1-1]=S2[j]; } S1[duzina1]=NULL; } main() { char S1[MAX],S2[MAX]; printf("\n\nUnesite prvi string:\n\n"); gets(S1); printf("\n\nUnesite drugi string:"); gets(S2); nadovezi(S1,S2); puts(S1); system("pause"); } #include<stdio.h> #include<stdlib.h> #define MAX 100 #include<string.h> main() { char string[MAX]; int i,duzina,max=0,maxindex,broj_karaktera=0; printf("\n\nUnesite string:\n\n"); gets(string);
printf("\n\nUnesite M:"); scanf("%d",&M); printf("\n\nnesite N:"); scanf("%d",&N); if(duzina<(MN)) { br_zvjezdica=(MN)-duzina; for(p=0; p<duzina;p++) { pom[k++]=string[p]; } for(p=0; p<br_zvjezdica; p++) { pom[k++]=''; } pom[k]=NULL; p=0; for(red=0; red<M; red++) { for(kol=0; kol<N; kol++) { mat[red][kol]=pom[p]; p++; } } printf("\n\nMatrica koja se obrazuje od stringa je:\n\n"); for(red=0; red<M ; red++) { for(kol=0; kol<N; kol++) { printf("%c\t",mat[red][kol]); } printf("\n\n"); } } else if(duzina>(MN)) { i=0; for(red=0; red<M; red++) { for(kol=0; kol<N; kol++) { mat[red][kol]=string[i]; i++; } } printf("\n\nMatrica koja se obrazuje od stringa je:\n\n"); for(red=0; red<M ; red++) { for(kol=0; kol<N; kol++) { printf("%c\t",mat[red][kol]); } printf("\n\n"); } }
system("pause"); } /
*******/ //Bolji nacin,bez pomocnog stringa /Napisati program na C - u kojim se sa tastature unosi jedan string i dve celobrojne promenljive M i N. Od karaktera unetog stringa formirati matricu dimenzije MN. U slučaju da je broj karaktera u stringu manji od broja elemenata matrice na prazne pozicije upisati *. Ako je broj karaktera veći, karaktere koji su viška nigde ne upisivati. Npr.za uneti string a b c d e f g i vrednosti M = 3 i N = 4 formirana matrica će izgledati a b c d e f g *
/ //Uradicu preko funkcije #include<stdio.h> #define MAX 100 #include<stdlib.h> void stvori_matricu( char string[],int M, int N) { int duzina,red,kol,br=0,br_elemenata_matrice,i; char mat[MAX][MAX]; duzina=0; while(string[duzina]!=NULL) { duzina++; } br_elemenata_matrice=MN; if(duzina<br_elemenata_matrice) { //Prvo citavu matricu popunjavamo zvjezdicama for(red=0; red<M; red++) { for(kol=0; kol<N; kol++) { mat[red][kol]='*'; } } //Zatim popunjavamo matricu pojedinacnim karakteria stringa i=0; for(red=0; red<M; red++) { for(kol=0; kol<N; kol++) { br++; mat[red][kol]=string[i++]; if(br==duzina) { red=M; kol=N; }