Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


stringovi, uvod u programiranje, Esej od Informatika

stringovi, uvod u programirnje

Tipologija: Esej

2019/2020

Učitan datuma 06.04.2020.

Lidijajo
Lidijajo 🇧🇦

5

(2)

11 dokumenti

1 / 46

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
/*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 **A**ko**A**leksandar .
Nije dozvoljeno koristiti pomocne stringove i ASCII tabelu*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e

Delimični pregled teksta

Preuzmite stringovi, uvod u programiranje i više Esej u PDF od Informatika samo na Docsity!

/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)

N++;

//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; }