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