Advertisement
csaki

kommentes mássalhangzós (kezdőknek, érthetőbb)

Oct 26th, 2012
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.74 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace szakavban_mássalhangzók
  7. {
  8.     class Program
  9.     {
  10.         // Felveszünk egy string változót, amibe tároljuk a felhasználótól kapott szót.
  11.         static string szo;
  12.         // Felveszünk egy string változót, amibe eltároljuk az összes mássalhangzót, későbbi vizsgálatra.
  13.         // MEGJEGYZÉS: A string felfoghat char (karakter) tömbként is, tehát a stringben lévő karakterek sorszámozottak,
  14.         // és ezt kihasználva fogjuk vizsgálni a szóban a mássalhangzókat.
  15.         static string msh = "qwrtzpsdfghjklyxcvbnm";
  16.         // Felveszünk egy int változót, amiben tároljuk a megszámlált mássalhangzókat (tehát számot tárolunk benne).
  17.         static int db = 0;
  18.         // Fő részprogram, mindig ez fut le először!
  19.         static void Main(string[] args)
  20.         {
  21.             // Az alpropgramok sorrendben, hogy hogy következnek egymás után.
  22.             bekérés();
  23.             kiértékelés();
  24.             kiírás();
  25.         }
  26.  
  27.         // A Main-ben meghatározott első alprogram (mindegy egyébként sorban ez a rész hol helyezkedik a programkódon belül,
  28.         // a fontos az, hogy a Main-en belül hanyadik a sorban).
  29.         static void bekérés()
  30.         {
  31.             // Kommunikálunk a felhasználóval, majd bekérünk egy szót (egyébként a string szintaktikája megengedi azt is,
  32.             // hogy több szót írjunk be. Egy egész mondatban is megszámolná a mássalhangzókat. :))
  33.             Console.WriteLine("Adjon meg egy szót, és megszámolom benne a mássalhangzókat!");
  34.             szo = Console.ReadLine();
  35.         }
  36.  
  37.         // A Main-ben meghatározott második alprogram (fontos programozási stílus: minden feladatnak külön alprogram kell!).
  38.         static void kiértékelés()
  39.         {
  40.             // Egy kötött lépésszámú ciklus, ami addig fut le újra meg újra, amíg a végére nem ér a "szo" stringben eltárolt szónak.
  41.             // MEGJEGYZÉS: Karakterenként lépked, mint ahogy fentebb is említettem, karakterek tárolására használt tömb a string.
  42.             //
  43.             // A "for" ciklus: felveszünk egy változót, ami 0-ról indul (ez rendszerint "i", de egyébként teljesen mindegy hogy hívjuk.).
  44.             // Megadjuk, hogy az "i" addig lépkedjen, amíg el nem éri a korábban bekért szó hosszát.
  45.             // Megadjuk, hogy az "i" mindig 1-el növekedjen (i = i + 1, egyszerűbben: i++), de igazából bármennyivel növekedhetne,
  46.             // ezt mi adjuk meg. Ha kettessével szeretnénk hogy lépkedjen, akkor i = i + 2.
  47.             for (int i = 0; i < szo.Length; i++)
  48.             {
  49.                 // Újabb kötött lépésszámú ciklus, ami addig fut újra meg újra, amíg a mássalhangzókat tartalmazó string végére nem ér.
  50.                 //
  51.                 // Itt ugyanaz amit az előbb leírtam a for ciklusról, csak itt a msh-ban megadott szó végéig lépkedünk.
  52.                 for (int j = 0; j < msh.Length; j++)
  53.                 {
  54.                     // És itt a lényeg.
  55.                     // Ez egy feltételvizsgálat (if = ha), ami megnézi, hogy a bekért szó x-edik eleme egyezik-e az éppen
  56.                     // vizsgált mássalhangzó x-edik elemével.
  57.                     //
  58.                     // Magyarul: A program megvizsgál minden betűt, hogy egyezik-e a mássalhangzók egyikével. Ha nem egyezik,
  59.                     // tovább vizsgál, nem csinál semmit. Ha viszont talál egy egyezést a szó és a mássalhangzók egyes karakterei
  60.                     // között, akkor megnövel egy számot. Ez a szám a mássalhangzók száma.
  61.                     if (szo[i] == msh[j])
  62.                     {
  63.                         db++;
  64.                     }
  65.                 }
  66.             }
  67.         }
  68.  
  69.         // A Main-ben meghatározott harmadik alprogram.
  70.         static void kiírás()
  71.         {
  72.             // Ismét kommunikálunk a felhasználóval, kiírjuk a darabszámot, amit a "db" változóba gyűjtöttünk össze.
  73.             Console.WriteLine("A mássalhangzók száma: {0}", db);
  74.             // Ez szükséges ahhoz, hogy a program ne záródjon be azonnal, miután kiírtuk az adatot.
  75.             Console.ReadLine();
  76.         }
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement