STRINGOVI - PRIMERI
1. String vs. niza karaktera
Dodeliti neki tekst promenljivoj tipa string
Koristeci for ciklus razloziti dati tekst na karaktere i kodove karaktera.
Napraviti niz karaktera i prepisati u njega dati tekst.
Ispisati sadržaj niza na ekranu.
Koristeci for ciklus razloziti dati tekst na karaktere i kodove karaktera.
Napraviti niz karaktera i prepisati u njega dati tekst.
Ispisati sadržaj niza na ekranu.
2. Unos stringova
Uneti sa tastature ime prezime i adresu. Podatke ispisati u 2 posebne linije prvo ime i prezime, a zatim adresu.
Zatim u tri naredna reda duzine tekstova za ime prezime i adresu.
Primer:
Ulaz:
Pera
Peric
Vojvode Radomira Putnika 12
Izlaz:
Pera Peric
Vojvode Radomira Putnika 12
4
5
24
Zatim u tri naredna reda duzine tekstova za ime prezime i adresu.
Primer:
Ulaz:
Pera
Peric
Vojvode Radomira Putnika 12
Izlaz:
Pera Peric
Vojvode Radomira Putnika 12
4
5
24
3. Korisničko ime
Postoji sajt na kojem korisnici moraju da naprave naloge da bi ga koristili. Sajt prihvata samo korisnička imena koja su duža od 6 karaktera i kraća od 14. Napisati program koji vrši proveru korisničkog imena.
Ulaz
Ulaz je jedna reč koja predstavlja korisničko ime.
Izlaz
U slučaju da korisničko ime ima više od 6 i manje od 14 slova, ispisati:
Kreirano je ime za korisnika [Ime korisnika].
U slučaju da korisničko ime ima 6 ili manje karaketra, ispisati:
Nije kreirano ime za korisnika. Fali Vam X slova.
U slučaju da korisničko ime ima 14 ili više slova, ispisati:
Nije kreirano ime za korisnika. Imate X slova viska.
Ulaz
Ulaz je jedna reč koja predstavlja korisničko ime.
Izlaz
U slučaju da korisničko ime ima više od 6 i manje od 14 slova, ispisati:
Kreirano je ime za korisnika [Ime korisnika].
U slučaju da korisničko ime ima 6 ili manje karaketra, ispisati:
Nije kreirano ime za korisnika. Fali Vam X slova.
U slučaju da korisničko ime ima 14 ili više slova, ispisati:
Nije kreirano ime za korisnika. Imate X slova viska.
4. Provera lozinke
Napraviti program koji proverava ispravnost lozinke koju korisnik iz dva dela unosi preko tastature kao prefiks i sufiks(datum).
Spojiti unete delove lozinke u jednu celinu, tako da između prefiksa i sufiksa bude donja crta.
Unos lozinke može da se ponovi najviše 3 puta. Ako se zna da je tacna lozinka pupin_9.10.1854, U kom je pokušaju tačno uneta lozinka ili "netacna lozinka", u slučaju da se iz 3 puta lozinka ne poklapa sa tačnom
ULAZ:
dva stringa koji predstavljaju prefiks i sufiks lozinke. Ponavljati ulaz najviše 3 puta.
IZLAZ:
Ceo broj koji predstavlja broj pokušaja ukucavanja lozinke
ili tekst: Netačna lozinka
Primer 1:
Ulaz:
pupin
10.10.1854
pupin
9.10.1854
Izlaz:
2
Primer 2:
Ulaz:
nikola
10.10.1864
pupin
19.10.1854
cvijic
19.10.1854
Izlaz:
Netačna lozinka
Spojiti unete delove lozinke u jednu celinu, tako da između prefiksa i sufiksa bude donja crta.
Unos lozinke može da se ponovi najviše 3 puta. Ako se zna da je tacna lozinka pupin_9.10.1854, U kom je pokušaju tačno uneta lozinka ili "netacna lozinka", u slučaju da se iz 3 puta lozinka ne poklapa sa tačnom
ULAZ:
dva stringa koji predstavljaju prefiks i sufiks lozinke. Ponavljati ulaz najviše 3 puta.
IZLAZ:
Ceo broj koji predstavlja broj pokušaja ukucavanja lozinke
ili tekst: Netačna lozinka
Primer 1:
Ulaz:
pupin
10.10.1854
pupin
9.10.1854
Izlaz:
2
Primer 2:
Ulaz:
nikola
10.10.1864
pupin
19.10.1854
cvijic
19.10.1854
Izlaz:
Netačna lozinka
5. Spisak proizvoda
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Nizovi u jeziku C/C++
Više o zadacima sa kvalifikacija: Kvalifikacije za okružna takmičenja
Ljilja je svaki dan škole kupovala za užinu jabuku, kiflu ili lizalicu. Ako je poznato kolika je cena svakog proizvoda i ako je poznat spisak proizvoda koje je ona kupila tokom nekoliko dana, odrediti koliko je ukupno novca potrošila.
Ulaz
Sa standradnog ulaza se učitavaju cena jabuke, kifle i lizalice (tri prirodna broja između 10 i 100, svaki u posebnom redu). Nakon toga se učitava niska od najviše 30 karaktera j, k i l koja određuje redom proizvode koje je Ljilja kupila.
Izlaz
Na standardni izlaz ispisati ukupnu količinu utrošenog novca.
Primer 1
Ulaz
32
30
45
jjkllkl
Izlaz
259
Primer 2
Ulaz
10
20
30
jkl
Izlaz
60
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Nizovi u jeziku C/C++
Više o zadacima sa kvalifikacija: Kvalifikacije za okružna takmičenja
Ljilja je svaki dan škole kupovala za užinu jabuku, kiflu ili lizalicu. Ako je poznato kolika je cena svakog proizvoda i ako je poznat spisak proizvoda koje je ona kupila tokom nekoliko dana, odrediti koliko je ukupno novca potrošila.
Ulaz
Sa standradnog ulaza se učitavaju cena jabuke, kifle i lizalice (tri prirodna broja između 10 i 100, svaki u posebnom redu). Nakon toga se učitava niska od najviše 30 karaktera j, k i l koja određuje redom proizvode koje je Ljilja kupila.
Izlaz
Na standardni izlaz ispisati ukupnu količinu utrošenog novca.
Primer 1
Ulaz
32
30
45
jjkllkl
Izlaz
259
Primer 2
Ulaz
10
20
30
jkl
Izlaz
60
6. Pretraga unutar teksta
Uneti proizvoljan tekst i termin za pretragu.
Pronaći poziciju prvog, drugog i poslednjeg pojavljivanja datog termina(stringa) za pretragu
Pronaći poziciju prvog, drugog i poslednjeg pojavljivanja datog termina(stringa) za pretragu
7. Pretraga unutar teksta
Uneti proizvoljan tekst i termin za pretragu.
Ispisati deo teksta između prvog i poslednjeg pojavljivanja zadatog stringa za pretragu.
U slucaju da je izdvojen prazan tekst napisati:"Prazan tekst".
U slucaju da ne postoji ni jedno pojavljivanje dela teksta unutar zadatog teksta napisati:"Ne postoji".
Primer 1:
Ulaz
123ab4567ab21
ab
Izlaz
4567
Primer 2:
Ulaz
123ab4567ab21
12
Izlaz
3ab4567ab21
Ispisati deo teksta između prvog i poslednjeg pojavljivanja zadatog stringa za pretragu.
U slucaju da je izdvojen prazan tekst napisati:"Prazan tekst".
U slucaju da ne postoji ni jedno pojavljivanje dela teksta unutar zadatog teksta napisati:"Ne postoji".
Primer 1:
Ulaz
123ab4567ab21
ab
Izlaz
4567
Primer 2:
Ulaz
123ab4567ab21
12
Izlaz
3ab4567ab21
8. Fiskalni računi
TEKST ZADATKA: Poznati su svi fiskalni računi koje je izdala jedna prodavnica. Sa svakog računa se može pročitati datum kada je taj račun izdat i iznos koji je naplaćen. Napiši program koji učitava fiskalne račune u svakom redu po jedan, a zatim od toga pravi dva niza jedan za datume u obliku "mesec godina" kod koga su podaci stringovi, a drugi je niz realnih brojeva koji predstavljaju pomenute iznose za te datume.
Ulaz
Sa standardnog ulaza se učitava broj izdatih računa n (1≤n≤105), a zatim podaci o svakom računu u obliku dd-mm-gggg iznos, gde je iznos realan broj zaokružen na dve decimale.
Izlaz
Na standardni izlaz ispisati nizove datuma i vrednosti iznosa, tako da iznosi odgovaraju datumima.
Primer
Ulaz
5
03-06-2022 2240.00
15-04-2022 176.50
03-07-2021 600.50
06-02-2023 280.00
05-04-2021 455.00
Izlaz
jun: 2022 2240.00
april 2022: 176.50
jul 2021: 600.50
februar 2023: 280.00
april 2021: 455.00
Ulaz
Sa standardnog ulaza se učitava broj izdatih računa n (1≤n≤105), a zatim podaci o svakom računu u obliku dd-mm-gggg iznos, gde je iznos realan broj zaokružen na dve decimale.
Izlaz
Na standardni izlaz ispisati nizove datuma i vrednosti iznosa, tako da iznosi odgovaraju datumima.
Primer
Ulaz
5
03-06-2022 2240.00
15-04-2022 176.50
03-07-2021 600.50
06-02-2023 280.00
05-04-2021 455.00
Izlaz
jun: 2022 2240.00
april 2022: 176.50
jul 2021: 600.50
februar 2023: 280.00
april 2021: 455.00
9. Palindrom string
Da li je dati string palindrom? Palindrom je string koji se čita podjednako sa leve i sa desne strane, ignorišući razmake i znakove interpunkcije.
Ulaz
U prvom i jedinom redu ulaza se nalazi string S.
Izlaz
Izlaz treba da se sastoji od jedne reči: „da“ ako je string palindrom, „ne“ ako nije.
Ograničenja
Dužina stringa S je između 1 i 1 000 000 karaktera.
Znakovi koji se mogu pojaviti unutar stringa:
- velika i mala slova engleskog alfabeta
- znakovi interpunkcije: ! ; : '" ? ()
- prazan prostor
Primer
Ulaz
Ana voli Milovana.
Izlaz
da
Ulaz
U prvom i jedinom redu ulaza se nalazi string S.
Izlaz
Izlaz treba da se sastoji od jedne reči: „da“ ako je string palindrom, „ne“ ako nije.
Ograničenja
Dužina stringa S je između 1 i 1 000 000 karaktera.
Znakovi koji se mogu pojaviti unutar stringa:
- velika i mala slova engleskog alfabeta
- znakovi interpunkcije: ! ; : '" ? ()
- prazan prostor
Primer
Ulaz
Ana voli Milovana.
Izlaz
da
10. Anagrami
Napisati program koji proverava da li su dva data stringa anagrami jedan drugom.Ulaz
Dva stringa, svaki u zasebnom redu.
Izlaz
"da" u slučaju da su stringovi anagrami, "ne" u suprotnom.
Primer
Ulaz
ortoped
torpedo
Izlaz
da
Dva stringa, svaki u zasebnom redu.
Izlaz
"da" u slučaju da su stringovi anagrami, "ne" u suprotnom.
Primer
Ulaz
ortoped
torpedo
Izlaz
da
11. Leksikografski minimum
Napiši program koji određuje koja bi od nekoliko datih reči trebalo da bude navedena prva u rečniku ako se ne pravi razlika između velikih i malih slova (za tu reč kažemo da je leksikografski ispred ostalih reči, tj. da je leksikografski najmanja među svim rečima).
Ulaz
Sa standardnog ulaza se učitava linija teksta koja sadrži više reči razdvojenih sa po tačno jednim razmakom (u liniji postoji bar jedna reč, a iza poslednje reči nema razmaka).
Izlaz
Na standardni izlaz ispisati reč iz učitane linije koja je leksikografski ispred ostalih reči.
Primer
Ulaz
Ko rano rani dve srece grabi
Izlaz
dve
Sa standardnog ulaza se učitava linija teksta koja sadrži više reči razdvojenih sa po tačno jednim razmakom (u liniji postoji bar jedna reč, a iza poslednje reči nema razmaka).
Izlaz
Na standardni izlaz ispisati reč iz učitane linije koja je leksikografski ispred ostalih reči.
Primer
Ulaz
Ko rano rani dve srece grabi
Izlaz
dve
12. Vrednost izraza
Napiši program koji izračunava vrednost jednostavnog aritmetičkog izraza (npr. 123*456).
Ulaz
Sa standardnog ulaza učitava se jedna linija teksta koja sadrži jednostavni aritmetički izraz dobijen primenom operacija sabiranja, oduzimanja ili množenja na dva prirodna broja. Učitani tekst ne sadrži razmake. Napomena: vežbe radi, učitati ceo string koji sadrži izraz, a zatim ga raščlaniti na delove.
Izlaz
Na standardni izlaz ispisati vrednost izraza (ona je sigurno između −10^9 i 10^9).
Primer
Ulaz
32+73
Izlaz
105
Sa standardnog ulaza učitava se jedna linija teksta koja sadrži jednostavni aritmetički izraz dobijen primenom operacija sabiranja, oduzimanja ili množenja na dva prirodna broja. Učitani tekst ne sadrži razmake. Napomena: vežbe radi, učitati ceo string koji sadrži izraz, a zatim ga raščlaniti na delove.
Izlaz
Na standardni izlaz ispisati vrednost izraza (ona je sigurno između −10^9 i 10^9).
Primer
Ulaz
32+73
Izlaz
105
13. Cezarov kod
Zadata je reč sastavljena od malih slova rimske abecede (koja je ista kao engleska). Potrebno je šifrovati odnosno dešifrovati poruku. Cezarova šifra je tip šifre zamenjivanja u kome se svako slovo teksta koji se šifruje menja slovom abecede koje se dobije pomeranjem polaznog slova za određeni broj mesta, ciklično po abecedi. Na primer, ako se vrši pomeranje za dva mesta, slovo abi se šifrovalo slovom d, b slovom e, itd., dok bi se slovo w šifrovalo slovom z, slovo x slovom a, slovo y, slovom b i slovo z slovom c. Na primer, reč papagaj bi se šifrovala sa sdsdjdm.
Ulaz
U prvoj liniji standardnog ulaza nalazi se reč ne duža od 100 slova, u drugoj liniji se nalazi ceo broj N, koji predstavlja pomak (1≤N<26), a u trećoj ceo broj S koji predstavlja smer šifrovanja. Ako je S=1S=1 potrebno je šifrovati, a ako je S=2 potrebno je dešifrovati reč.
Izlaz
U prvoj liniji standardnog izlaza prikazati reč koja se dobije nakon šifrovanja tj. dešifrovanja zadate reči.
Primer 1
Ulaz
abcdefghijklmnopqrstuvwxyz
3
1
Izlaz
defghijklmnopqrstuvwxyzabc
Primer 2
Ulaz
twornuvkpemkp
2
2
Izlaz
rumplstinckin
U prvoj liniji standardnog ulaza nalazi se reč ne duža od 100 slova, u drugoj liniji se nalazi ceo broj N, koji predstavlja pomak (1≤N<26), a u trećoj ceo broj S koji predstavlja smer šifrovanja. Ako je S=1S=1 potrebno je šifrovati, a ako je S=2 potrebno je dešifrovati reč.
Izlaz
U prvoj liniji standardnog izlaza prikazati reč koja se dobije nakon šifrovanja tj. dešifrovanja zadate reči.
Primer 1
Ulaz
abcdefghijklmnopqrstuvwxyz
3
1
Izlaz
defghijklmnopqrstuvwxyzabc
Primer 2
Ulaz
twornuvkpemkp
2
2
Izlaz
rumplstinckin
14. Arapski u rimski
Napiši program koji prevodi uneti arapski broj u rimski.
Ulaz
Sa ulaza se unosi prirodan broj nn (1≤n≤2000)
Izlaz
Na standardni izlaz se ispisuje rimski zapis broja n.
Primer
Ulaz
1978
Izlaz
MCMLXXVIII
Sa ulaza se unosi prirodan broj nn (1≤n≤2000)
Izlaz
Na standardni izlaz se ispisuje rimski zapis broja n.
Primer
Ulaz
1978
Izlaz
MCMLXXVIII
15. Pretraga charactera
Napisati program koji sa standardnog ulaza unosi pomoću funkcije scanf nisku sa ne više od 20 karaktera i proverava da li niska sadrži znak @
16. Pretraga charactera pomoću binarne pretrage
Napisati program koji sa standardnog ulaza unosi pomoću funkcije scanf leksikografski uređenu nisku sa ne više od 20 karaktera i proverava da li niska sadrži znak @. Zadatak uraditi korišćenjem binarne pretrage
17. Razdvajanje reda učitanog teksta na reči
Uneti red teksta sa tastature, a zatim razdvojiti na reči. Napraviti niz ciji elementi predstavljaju dužine dobijenih reči.
Ulaz: jedan red teksta, smešten u promenljivu tipa string.
Izlaz: Niz prirodnih brojeva, čije vrednosti predstavljaju, dužine reči iz unetog teksta.
Primer:
Ulaz:
Danas je lep dan
Izlaz:
5 2 3 3
Ulaz: jedan red teksta, smešten u promenljivu tipa string.
Izlaz: Niz prirodnih brojeva, čije vrednosti predstavljaju, dužine reči iz unetog teksta.
Primer:
Ulaz:
Danas je lep dan
Izlaz:
5 2 3 3
Sledeće
Nizovi-primeri >| |