using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; //filekezelés namespace Karlanc { class Program { //felhasználói alprogram static int MassalHangzok(string s) { int db = 0; string MH = "aeiouAEIOU"; for (int i = 0; i < s.Length; i++) { if(Char.IsLetter(s[i])) //ha betü if(MH.IndexOf(s[i]) == -1) //nem magánhangzó db++; } return db; } static void Main(string[] args) { string s; //karakterlánc TextReader f = File.OpenText("atestat.txt"); //file megnyitása olvasásra s = f.ReadLine(); //egy sor beolvasása a file-ból Console.WriteLine("Eredeti sor: "+s); //kiírás a képernyöre (ragasztással) Console.WriteLine("Csak nagybetüvel: " + s.ToUpper()); Console.WriteLine("Csak kisbetuvel: " + s.ToLower()); string MH="aeiouAEIOU"; int szk = 0, mh = 0, szj = 0; for (int i = 0; i < s.Length; i++) //ismert a karakterlánc hossza { if (s[i] == ' ') szk++; //szóközök száma if (MH.IndexOf(s[i]) != -1 ) mh++; //magánhanzgók száma - s[i] szerepel valahol a magánhangzók között if (Char.IsDigit(s[i])) szj++; //ha szamjegy } Console.WriteLine("Szokozok szama: " + szk); Console.WriteLine("Szavak szama: " + (szk+1)); Console.WriteLine("Maganhangzok szama: " + mh); Console.WriteLine("Massalhangzok szama: " + MassalHangzok(s)); Console.WriteLine("Szamjegyek szama: " + szj); Console.Write("Szokoz nelkul: "); for (int i = 0; i < s.Length; i++) { if (s[i] != ' ') Console.Write(s[i]); } Console.WriteLine(); //a betüvel kezdödö szavak száma int db = 0; string [] lista = s.Split(' '); //s karlánc szétbontása szavakra Console.WriteLine("\nSzavak listaja: "); for (int i = 0; i < lista.Length; i++) { if (lista[i][0] == 'a') db++; //ha az i-edik szó a betüvel kezdödik Console.WriteLine(lista[i]); } Console.WriteLine("a betuvel kezdodo szavak szama: " + db); s = f.ReadLine(); Console.WriteLine("\n" + s); Console.WriteLine("Tukorszavak: "); string [] pal = s.Split(' '); string z="", t=""; for (int i = 0; i < pal.Length; i++) { z = ""; t = pal[i].ToUpper(); for (int j = 0; j < t.Length; j++) { z = t[j] + z; } if (t.CompareTo(z) == 0) Console.WriteLine(pal[i]); } s = f.ReadLine(); Console.WriteLine("\n" + s); Console.WriteLine("Anagrammak : "); string[] lst1 = s.Split(' '); string[] lst2 = new string[lst1.Length]; char[] C; for (int i = 0; i < lst1.Length; i++) { lst2[i] = lst1[i].ToUpper(); //nagybetusites C = lst2[i].ToCharArray(); //karakterekbol allo tomb Array.Sort(C); //ABC sorrendbe rendezes z = ""; //string eloallitasa foreach (char x in C) { z = z + x; } lst2[i] = z; } for (int i = 0; i < lst1.Length; i++) { for (int j = i+1; j < lst1.Length; j++) if (lst2[i].CompareTo(lst2[j]) == 0) //egyforma a ket minta { Console.WriteLine(lst1[i] + " " + lst1[j]); } } s=f.ReadLine(); Console.WriteLine("\n"+s); //betu bekérése a billentyuzetrol Console.Write("Kerek egy betut: "); char c = Convert.ToChar(Console.ReadLine()); //kiírás if (s[0] == 'K') Console.Write(c); //elso betu specialis eset for (int i = 1; i < s.Length; i++) { if (s[i] == c && s[i - 1] == 'K') //ha egy szo elso betuje - elotte szokoz van Console.Write(c); else Console.Write(s[i]); } Console.WriteLine(); //uj sorba lép //haromszog, kozep reszsor s = f.ReadLine(); Console.WriteLine(s); string [] lst = s.Split(' '); z = lst[0]; //az elso szo; int n = z.Length; int p = 0; while(p < n/2) { Console.WriteLine(z); z = z.Remove(n-p-1, 1); // "kiszedi" az utolso betut z = z.Remove(p, 1); // "kiszedi" az elso betut z = " " + z + " "; //szokozt "ragaszt" a kitorolt betuk helyere p++; } //kimeneti file készítése TextWriter g = File.CreateText("atestat.out"); g.WriteLine("Eredmeny: ...."); g.Close(); s = f.ReadLine(); n = Convert.ToInt32(s); //szavak szama int h=0, max = 0; string uj=""; for (int i = 0; i < n; i++) { z = f.ReadLine(); h = z.Length; if (h > max) { max = h; t = z; } //leghosszabb szo megjegyzese if (i < h) uj = uj + z[i]; else uj = uj + " "; } uj = uj + "."; Console.WriteLine("Leghosszabb szo: "+t); Console.WriteLine("Eloallitott szo: "+uj); Console.ReadKey(); //várakozás billentyülenyomásig } } }