Deo zbornika Uvod u programiranje kroz C
Vežbe sa strunama
Zadaci za vežbanje osnovnih računskih operacija sa strunama. Rešenja su data u raznim programskim jezicima.
ASCII kodovi
Napiši program za ispis velikih slova od A do Z i njihovih ASCII kodova
#include <stdio.h>
main()
{
char ch;
for (ch = 'A'; ch <= 'Z'; ch++) {
printf("ASCII kod za %c je %d\n", ch, ch);
}
}
Učestalost karaktera
Napiši program za izračunavanje broja pojavljivanja traženog karaktera u tekstu.
#include <stdio.h>
#include <string.h>
main()
{
char trazeni_karakter = 'a';
char tekst[] = "Moje je ime Davorin Bogović, a ovo sve oko mene je crno-bijeli svijet.";
int duzina = strlen(tekst);
int broj_javljanja = 0;
int i;
for (i = 0; i <= duzina; i++)
if (tekst[i] == trazeni_karakter)
broj_javljanja++;
printf("Broj pojavljivanja karaktera '%c' u tekstu je %d.", trazeni_karakter, broj_javljanja);
}
Poređenje učestalosti karaktera
Napiši program koji proverava da li tekst sadrži više slova ‘a’ ili ‘e’ (računaju se velika i mala).
#include <stdio.h>
#include <string.h>
int main() {
char r[] = "Svako bi trebalo da nauči da programira, jer to te uči kako da misliš.";
int i, brojac_a = 0, brojac_e = 0;
int n = strlen(r);
for(i=0; i<n; i++) {
if(r[i]=='A' || r[i]=='a')
brojac_a++;
if(r[i]=='E' || r[i]=='e')
brojac_e++;
}
if (brojac_a > brojac_e)
printf("Tekst sadrzi vise slova a.");
else if (brojac_e > brojac_a)
printf("Tekst sadrzi vise slova e.");
else
printf("Ima isti broj slova a i e.");
return 0;
}
Vesela slova
Napiši funkciju koja prima tekst i vraća novi tekst gde su svi samoglasnici velika, a svi suglasnici mala slova.
Na primer, ako prosledimo “U rupi pod zemljom živeo je hobit”, funkcija vraća “U rUpI pOd zEmljOm žIvEO jE hObIt”.
function veselaSlova(tekst) {
return tekst
.toLowerCase()
.replace(/a/g, 'A')
.replace(/e/g, 'E')
.replace(/i/g, 'I')
.replace(/o/g, 'O')
.replace(/u/g, 'U')
}
console.log(veselaSlova('U rupi pod zemljom živeo je hobit.'))
Napredno rešenje:
function veselaSlova(tekst) {
return tekst
.toLowerCase()
.replace(/([aeiou])/g, s => s.toUpperCase())
}
console.log(veselaSlova('U rupi pod zemljom živeo je hobit.'))
Reč unatraške
Napiši funkciju koja vraća ulazni tekst obrnut unatraške.
function obrni(recenica) {
let obrnuto = ''
for (i = recenica.length - 1; i >= 0; i--)
obrnuto += recenica[i]
return obrnuto
}
console.log(obrni('Ana voli Milovana'))
Broj velikih slova
Napiši program koji broji koliko je velikih slova u rečenici.
#include <stdio.h>
#include <string.h>
int main() {
char r[] = "Prvo, reši problem. Onda, piši kod.";
int i, n, brojac=0;
n=strlen(r);
for(i=0;i<n;i++)
if(r[i]>='A' && r[i]<='Z')
brojac++;
printf("Broj velikih slova u recenici je %d", brojac);
return 0;
}
Najduža reč
Ispiši koliko slova ima najduža riječ u tekstu.
#include <stdio.h>
#include <string.h>
int main() {
char r[] = "Debagovanje je dvostruko teže od pisanja koda.";
int n, i, j, broj=1, pocetak, max=0;
n = strlen(r);
for (i=0; i<n; i++) {
if(r[i]==' ' && i!=n-1)
broj++;
}
pocetak = 0;
for (i=1; i<=broj; i++) {
j=0;
while (r[pocetak+j] != ' ' && pocetak+j != n)
j++;
if (j > max)
max = j;
pocetak = pocetak + j + 1;
}
printf("Najduza rec ima %d slova", max);
return 0;
}