- 1. zadatak - upisati recenicu, naci najduzu rijec, rijec obrnuti i napisati recenicu sa obrnutom verzijom rijeci
- % Čitanje rečenice
- recenica = input('Unesite rečenicu: ', 's');
- % Razdvajanje rečenice na reči uz uzimanje u obzir interpunkcijskih znakova
- rijeci = regexp(recenica, '\s+', 'split'); % Razdvaja po razmacima, tabulatorima i ostalim prazninama
- % Uklanja interpunkcijske znakove s kraja riječi
- rijeci = regexprep(rijeci, '[^\w\s]', '');
- % Pronalaženje najduže reči
- najduza_rijec = '';
- for i = 1:numel(rijeci)
- if numel(rijeci{i}) > numel(najduza_rijec)
- najduza_rijec = rijeci{i};
- end
- end
- % Ispis najduže reči unazad
- fprintf('Najduža riječ: %s\n', najduza_rijec);
- % Ispis najduže riječi u obrnutom redoslijedu
- fprintf('Obrnut redoslijed: %s\n', flip(najduza_rijec));
- % Zamena najduže reči u rečenici
- nova_recenica = strrep(recenica, najduza_rijec, flip(najduza_rijec));
- % Ispis nove rečenice
- fprintf('Nova rečenica: %s\n', nova_recenica);
- 2. zadatak - unijeti tekst, provjeriti koliko ima slogova sni i praznih mjesta i na kojim indexima
- % Unos teksta sa tastature
- tekst = input('Unesite tekst: ', 's');
- % Prebrojavanje i indeksi slogova 'sni'
- indeksi_sni = strfind(tekst, 'sni');
- broj_sni = length(indeksi_sni);
- fprintf('Broj pojavljivanja sloga ''sni'': %d\n', broj_sni);
- if broj_sni > 0
- fprintf('Indeksi pojavljivanja sloga ''sni'': %s\n', mat2str(indeksi_sni));
- end
- % Brojanje praznih mjesta (razmaka)
- indeksi_razmaka = find(isspace(tekst));
- broj_razmaka = length(indeksi_razmaka);
- fprintf('Broj praznih mjesta (razmaka): %d\n', broj_razmaka);
- if broj_razmaka > 0
- fprintf('Indeksi praznih mjesta: %s\n', mat2str(indeksi_razmaka));
- end
- % Brojanje rečenica
- recenice = strsplit(tekst, {'.' '!' '?'});
- broj_recenica = length(recenice);
- % Brojanje vrsta rečenica
- broj_upitnih = sum(endsWith(recenice, '?'));
- broj_uzvicnih = sum(endsWith(recenice, '!'));
- broj_izjavnih = broj_recenica - broj_upitnih - broj_uzvicnih;
- fprintf('Broj rečenica: %d\n', broj_recenica);
- fprintf('Broj upitnih rečenica: %d\n', broj_upitnih);
- fprintf('Broj uzvičnih rečenica: %d\n', broj_uzvicnih);
- fprintf('Broj izjavnih rečenica: %d\n', broj_izjavnih);
- % Brojanje riječi
- rijeci = strsplit(tekst);
- broj_rijeci = length(rijeci);
- fprintf('Broj riječi: %d\n', broj_rijeci);
- 3. zadatak - unostiti rijeci sve dok se ne unese rijec koja pocinje sa i a zavrsava sa d i ima samo samoglasnike.
- Napisati je velikim slovima, a ostale rijeci napisati kao niz i njihove samoglasnike velikim slovima
- clc;
- clear;
- % Inicijalizacija varijabli
- words = {}; % Lista za spremanje unesenih riječi
- vowels = 'aeiou'; % Samoglasnici
- finalWord = ''; % Posljednja riječ koja zadovoljava uvjet
- count = 0; % Brojač unesenih riječi
- while true
- % Unos riječi s tastature
- word = input('Unesite riječ: ', 's');
- words{end + 1} = word;
- count = count + 1;
- % Provjera da li riječ zadovoljava uvjet
- if startsWith(word, 'i') && endsWith(word, 'd')
- % Provjera da li riječ sadrži samo samoglasnike (osim prvog i posljednjeg slova)
- middle = word(2:end-1);
- if all(ismember(middle, vowels))
- finalWord = upper(word);
- words{end} = finalWord; % Zamjena originalne riječi sa riječi u velikim slovima
- break;
- end
- end
- end
- % Pretvaranje svih riječi u niz s velikim samoglasnicima, osim zadnje riječi
- for i = 1:length(words) - 1
- word = words{i};
- for j = 1:length(word)
- if ismember(word(j), vowels)
- word(j) = upper(word(j));
- end
- end
- words{i} = word;
- end
- % Ispis rezultata
- fprintf('Ukupan broj unesenih riječi: %d\n', count);
- fprintf('Sve unijete riječi sa velikim samoglasnicima:\n');
- disp(words);