Facebook
From enchante, 10 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 230
  1. 1. zadatak - upisati recenicu, naci najduzu rijec, rijec obrnuti i napisati recenicu sa obrnutom verzijom rijeci
  2.  
  3. % Čitanje rečenice
  4. recenica = input('Unesite rečenicu: ', 's');
  5.  
  6. % Razdvajanje rečenice na reči uz uzimanje u obzir interpunkcijskih znakova
  7. rijeci = regexp(recenica, '\s+', 'split');  % Razdvaja po razmacima, tabulatorima i ostalim prazninama
  8.  
  9. % Uklanja interpunkcijske znakove s kraja riječi
  10. rijeci = regexprep(rijeci, '[^\w\s]', '');
  11.  
  12. % Pronalaženje najduže reči
  13. najduza_rijec = '';
  14. for i = 1:numel(rijeci)
  15.     if numel(rijeci{i}) > numel(najduza_rijec)
  16.         najduza_rijec = rijeci{i};
  17.     end
  18. end
  19.  
  20. % Ispis najduže reči unazad
  21. fprintf('Najduža riječ: %s\n', najduza_rijec);
  22.  
  23. % Ispis najduže riječi u obrnutom redoslijedu
  24. fprintf('Obrnut redoslijed: %s\n', flip(najduza_rijec));
  25.  
  26. % Zamena najduže reči u rečenici
  27. nova_recenica = strrep(recenica, najduza_rijec, flip(najduza_rijec));
  28.  
  29. % Ispis nove rečenice
  30. fprintf('Nova rečenica: %s\n', nova_recenica);
  31.  
  32. 2. zadatak - unijeti tekst, provjeriti koliko ima slogova sni i praznih mjesta i na kojim indexima
  33.  
  34. % Unos teksta sa tastature
  35. tekst = input('Unesite tekst: ', 's');
  36.  
  37. % Prebrojavanje i indeksi slogova 'sni'
  38. indeksi_sni = strfind(tekst, 'sni');
  39. broj_sni = length(indeksi_sni);
  40.  
  41. fprintf('Broj pojavljivanja sloga ''sni'': %d\n', broj_sni);
  42. if broj_sni > 0
  43.     fprintf('Indeksi pojavljivanja sloga ''sni'': %s\n', mat2str(indeksi_sni));
  44. end
  45.  
  46. % Brojanje praznih mjesta (razmaka)
  47. indeksi_razmaka = find(isspace(tekst));
  48. broj_razmaka = length(indeksi_razmaka);
  49.  
  50. fprintf('Broj praznih mjesta (razmaka): %d\n', broj_razmaka);
  51. if broj_razmaka > 0
  52.     fprintf('Indeksi praznih mjesta: %s\n', mat2str(indeksi_razmaka));
  53. end
  54.  
  55. % Brojanje rečenica
  56. recenice = strsplit(tekst, {'.' '!' '?'});
  57. broj_recenica = length(recenice);
  58.  
  59. % Brojanje vrsta rečenica
  60. broj_upitnih = sum(endsWith(recenice, '?'));
  61. broj_uzvicnih = sum(endsWith(recenice, '!'));
  62. broj_izjavnih = broj_recenica - broj_upitnih - broj_uzvicnih;
  63.  
  64. fprintf('Broj rečenica: %d\n', broj_recenica);
  65. fprintf('Broj upitnih rečenica: %d\n', broj_upitnih);
  66. fprintf('Broj uzvičnih rečenica: %d\n', broj_uzvicnih);
  67. fprintf('Broj izjavnih rečenica: %d\n', broj_izjavnih);
  68.  
  69. % Brojanje riječi
  70. rijeci = strsplit(tekst);
  71. broj_rijeci = length(rijeci);
  72.  
  73. fprintf('Broj riječi: %d\n', broj_rijeci);
  74.  
  75. 3. zadatak - unostiti rijeci sve dok se ne unese rijec koja pocinje sa i a zavrsava sa d i ima samo samoglasnike.
  76. Napisati je velikim slovima, a ostale rijeci napisati kao niz i njihove samoglasnike velikim slovima
  77.  
  78. clc;
  79. clear;
  80.  
  81. % Inicijalizacija varijabli
  82. words = {}; % Lista za spremanje unesenih riječi
  83. vowels = 'aeiou'; % Samoglasnici
  84. finalWord = ''; % Posljednja riječ koja zadovoljava uvjet
  85. count = 0; % Brojač unesenih riječi
  86.  
  87. while true
  88.     % Unos riječi s tastature
  89.     word = input('Unesite riječ: ', 's');
  90.     words{end + 1} = word;
  91.     count = count + 1;
  92.    
  93.     % Provjera da li riječ zadovoljava uvjet
  94.     if startsWith(word, 'i') && endsWith(word, 'd')
  95.         % Provjera da li riječ sadrži samo samoglasnike (osim prvog i posljednjeg slova)
  96.         middle = word(2:end-1);
  97.         if all(ismember(middle, vowels))
  98.             finalWord = upper(word);
  99.             words{end} = finalWord; % Zamjena originalne riječi sa riječi u velikim slovima
  100.             break;
  101.         end
  102.     end
  103. end
  104.  
  105. % Pretvaranje svih riječi u niz s velikim samoglasnicima, osim zadnje riječi
  106. for i = 1:length(words) - 1
  107.     word = words{i};
  108.     for j = 1:length(word)
  109.         if ismember(word(j), vowels)
  110.             word(j) = upper(word(j));
  111.         end
  112.     end
  113.     words{i} = word;
  114. end
  115.  
  116. % Ispis rezultata
  117. fprintf('Ukupan broj unesenih riječi: %d\n', count);
  118. fprintf('Sve unijete riječi sa velikim samoglasnicima:\n');
  119. disp(words);
  120.  
  121.