Klicanje imena
Napiši program, ki bo poljubno ime napisal tako, da bo vsak samoglasnik izpisan 5-krat. Primer: za vpisano ime Janez se izpiše Jaaaaaneeeeez.
Namig
V zanki beri znak po znak iz vnešenega niza in sestavljaj nov niz, tako da začneš s praznim nizom, ki mu sproti dodajaš nove črke.
Če je trenutni znak samoglasnik, nizu, ki ga gradiš, dodaj 5 ponovitev prebranega znaka, sicer pa le eno.
Namig
Pogoj, za določanje, ali je neka črka samoglasnik lahko napišeš na naslednji način. Najprej sestavi niz vseh samoglasnikov.
Ali je nek znak samoglasnik preveriš tako, da ugotoviš, ali je znak vsebovan v nizu iz samoglasnikov. Za ta namen lahko uporabiš
metodo indexOf. V niz samoglasnikov lahko dodamo tako velike kot male črke.
Namig
Pogoj, za določanje, ali je neka črka samoglasnik lahko napišeš na naslednji način. Najprej sestavi niz vseh samoglasnikov.
Ali je nek znak samoglasnik preveriš tako, da ugotoviš, ali je znak vsebovan v nizu iz samoglasnikov. Za ta namen lahko uporabiš
metodo IndexOf. V niz samoglasnikov lahko dodamo tako velike kot male črke.
Rešitev (Java)
import javax.swing.JOptionPane;
public class KlicanjeImena {
public static void main(String[] atr) {
String ime = JOptionPane.showInputDialog("Vnesi ime, ki ga zelis poklicati: ");
// vsi samoglasniki - male in velike crke
String samoglasniki = "aeiou";
samoglasniki = samoglasniki + samoglasniki.toUpperCase();
String ime2 = "";
// pregledamo vse znake v imenu
for (int i = 0; i < ime.length(); ++i) {
// kateri znak je na tem mestu?
char znak = ime.charAt(i);
ime2 += znak;
// ce je znak samoglasnik, ga zapisemo se 4-krat
if (samoglasniki.indexOf(znak) != -1) {
for (int j = 0; j < 4; ++j)
ime2 += znak;
}
}
System.out.print(ime2);
}
}
Rešitev (C#)
using System;
using System.Collections.Generic;
using System.Text;
namespace KlicanjeImena {
class KlicanjeImena {
static void Main(string[] args) {
Console.Write("Vnesi ime, ki ga zelis poklicati: ");
String ime = Console.ReadLine();
// vsi samoglasniki - male in velike crke
String samoglasniki = "aeiou";
samoglasniki = samoglasniki + samoglasniki.ToUpper();
String ime2 = "";
// pregledamo vse znake v imenu
for (int i = 0; i < ime.Length; ++i) {
// kateri znak je na tem mestu?
char znak = ime[i];
ime2 += znak;
// ce je znak samoglasnik, ga zapisemo se 4-krat
if (samoglasniki.IndexOf(znak) != -1) {
for (int j = 0; j < 4; ++j)
ime2 += znak;
}
}
Console.WriteLine(ime2);
Console.ReadKey();
}
}
}
Rešitev (Python)
#!C:/Python30/python
#-*-encoding: utf-8 -*-
# -*- coding: latin-1 -*-
'''
Created on 30.6.2009
@author: fajdigap
'''
ime = input("Vnesi ime, ki ga zelis poklicati: ")
# vsi samoglasniki - male in velike crke
samoglasniki = "aeiou"
samoglasniki = samoglasniki + samoglasniki.upper()
ime2 = "";
#pregledamo vse znake v imenu
for i in range(len(ime)):
#kateri znak je na tem mestu?
znak = ime[i]
ime2 = ime2+znak
#ce je znak samoglasnik, ga zapisemo se 4-krat
if samoglasniki.find(znak) != -1:
for j in range(4):
ime2 += znak
print(ime2)