Varsó megoldása:
using System;
using
System.IO;
namespace _20201109
{
class Program
{
static char[]
nagyBetu = new char[26];
static char[]
kisBetu = new char[26];
static char[]
specialisBetu = new char[15];
static char[]
osszesBetu = new char[26 * 2];
static string[]
betuParok = new string[26];
static char[]
szazKisBetu = new char[100];
static string[]
titkosKod = new string[10];
static string[]
titkosKod2 = new string[10];
static string[]
titkosKod3 = new string[10];
static string[]
kis4Betus = new string[12];
static Random rnd = new Random();
//1.feladat:
// Hozz létre
egy 26 elemű karaktertömböt nagyBetu néven.
// Töltsd föl
az angol ABC nagybetűivel. (Segítség: az ASCII kódot a Convert.ToChar
segítségével kell karakterré alakítani.)
//Írd ki egy
fájlba.
static void
letrehozas_nagybetu()
{
for (int i = 0; i
< nagyBetu.Length; i++)
{
nagyBetu[i] =
(Convert.ToChar(65 + i));
Console.WriteLine(nagyBetu[i]);
}
StreamWriter sw = new StreamWriter("nagyBetu.txt");
for (int i = 0; i
< nagyBetu.Length; i++)
{
sw.WriteLine(nagyBetu[i]);
}
sw.Close();
}
//2.feladat:
// Hozz létre
egy 26 elemű karaktertömböt kisBetu néven.
// Töltsd föl
az angol ABC kisbetűivel.
//Írd ki egy új
fájlba.
static void
letrehozas_kisbetu()
{
for (int i = 0; i
< kisBetu.Length; i++)
{
kisBetu[i] = (Convert.ToChar(97
+ i));
Console.WriteLine(kisBetu[i]);
}
StreamWriter sw = new StreamWriter("kisBetu.txt");
for (int i = 0; i
< kisBetu.Length; i++)
{
sw.WriteLine(kisBetu[i]);
}
sw.Close();
}
//3.feladat:
// Hozz létre
egy 2*26=52 elemű karaktertömböt osszesbetu néven.
// Másold át
ebbe a tömbbe az előző két tömb tartalmát egymás után.
//Ehhez először
olvasd be a két fájlt egy-egy új tömbbe
//és azt
dolgozd föl.
static void
osszesbetu()
{
StreamReader sr = new StreamReader("nagyBetu.txt");
for (int i = 0; i
< nagyBetu.Length; i++)
{
osszesBetu[i] =
Convert.ToChar(sr.ReadLine());
}
sr.Close();
sr = new StreamReader("kisBetu.txt");
for (int i = 0; i
< kisBetu.Length; i++)
{
osszesBetu[26 + i] = Convert.ToChar(sr.ReadLine());
}
sr.Close();
}
//4.feladat:
// Hozz létre
egy 26 elemű string tömböt betuParok néven
// Töltsd föl a
következőképpen: a kisBetu tömb 0. eleméhe
//add hozzá (+
jellel) a nagyBetu tomb 0. elemét úgy,
//hogy egy
stringet alkossanak: „Aa”;
//majd ezt a
stringet tedd bele a betuParok tömbbe.
//Ismételd meg
ezt a többi elemmel is.
static void
betuparokossze()
{
for (int i = 0; i
< betuParok.Length; i++)
{
betuParok[i] =
Convert.ToString(kisBetu[i] + nagyBetu[i]);
Console.WriteLine(betuParok[i]);
}
}
//5.feladat:
// Hozz létre
egy 100 elemű karaktertömböt szazKisBetu néven.
//Töltsd föl
véletlenül kiválasztott kisbetűkkel.
static void
randomkisbetu()
{
for (int i = 0; i
< szazKisBetu.Length; i++)
{
szazKisBetu[i] =
Convert.ToChar(kisBetu[rnd.Next(0, 26)]);
Console.WriteLine(szazKisBetu[i]);
}
}
//6.feladat:
// Hozz létre
egy 10 elemű string tömböt, melyben 3 számjegyből álló
//titkos
kódokat fogsz tárolni.
// Töltsd föl a
következőképpen: alakíts stringgé egy véletlen számjegyet,
//és adj hozzá
még kettő ilyet úgy, hogy egy stringet alkossanak. (Pl.: 341, 593)
static void kodos()
{
for (int i = 0; i
< titkosKod.Length; i++)
{
for (int l = 0; l
< 3; l++)
{
titkosKod[l] +=
Convert.ToString(rnd.Next(0, 10));
}
}
}
//7. feladat:
//Oldd meg a
6-os feladatot azzal a változtatással,
//hogy öt
hosszú legyen a titkos kód.
//Az első
helyen egy véletlen számjegy álljon,
//aztán egy
véletlen kisbetű, aztán egy véletlen nagybetű,
//végül egy
véletlen kétjegyű szám. (Pl.: 3hZ71)
static void kodos2()
{
for (int i = 0; i
< titkosKod2.Length; i++)
{
titkosKod2[i] +=
Convert.ToString(rnd.Next(0, 10));
titkosKod2[i] +=
Convert.ToString(kisBetu[rnd.Next(0, 26)]);
titkosKod2[i] +=
Convert.ToString(nagyBetu[rnd.Next(0, 26)]);
titkosKod2[i] +=
Convert.ToString(rnd.Next(0, 10));
titkosKod2[i] +=
Convert.ToString(rnd.Next(0, 10));
Console.WriteLine(titkosKod2[i]);
}
}
//8. feladat:
//Készíts 8
hosszú titkos kódot, melyben kisbetű, nagybetű, szám, és egyéb jelek is vannak.
//Szóköz,
ékezetes karakter nem lehet benne. Segítségül használd a 7 bites ASCII táblát.
//Pl.: fT!jq/d+
static void
letrehozas_specialis()
{
for (int i = 0; i
< specialisBetu.Length; i++)
{
specialisBetu[i] =
(Convert.ToChar(33 + i));
Console.WriteLine(specialisBetu[i]);
}
StreamWriter sw = new StreamWriter("specialisKarakterek.txt");
for (int i = 0; i
< specialisBetu.Length; i++)
{
sw.WriteLine(specialisBetu[i]);
}
sw.Close();
}
static void kodos3()
{
for (int i = 0; i
< titkosKod3.Length; i++)
{
titkosKod3[i] +=
Convert.ToString(rnd.Next(0, 10));
titkosKod3[i] +=
Convert.ToString(specialisBetu[rnd.Next(0, 14)]);
titkosKod3[i] +=
Convert.ToString(nagyBetu[rnd.Next(0, 26)]);
titkosKod3[i] +=
Convert.ToString(kisBetu[rnd.Next(0, 26)]);
titkosKod3[i] +=
Convert.ToString(specialisBetu[rnd.Next(0, 14)]);
titkosKod3[i] += Convert.ToString(rnd.Next(0,
10));
titkosKod3[i] +=
Convert.ToString(rnd.Next(0, 10));
titkosKod3[i] +=
Convert.ToString(kisBetu[rnd.Next(0, 26)]);
Console.WriteLine(titkosKod3[i]);
}
}
//9. feladat:
//Alkoss a
kisBetu tömb elemeiből négybetűs szavakat, melyeket nem kell tárolni, csak
kiírni a képernyőre. //Megjegyzés: Ha nem tárolom, akkor nem tudom kiiratni
fájlba ha értelmes a szó!!!
//Minden egyes
szó kiírása után kérdezd meg a usert, hogy értelmes-e a szó.
//Ha értelmes a
szó, írd ki egy új fájlba.
//Számold meg,
hány értelmes szót sikerült alkotni, és az eredményt írd ki a képernyőre, és a
fájlba is az utolsó sorba.
static void
kisbetusszavak()
{
StreamWriter sw = new StreamWriter("negyBetusSzavak.txt");
int db = 0;
for (int i = 0; i
< kis4Betus.Length; i++)
{
for (int k = 0; k
< 4; k++)
{
kis4Betus[i] +=
Convert.ToString(kisBetu[rnd.Next(0, 26)]);
}
Console.Write("Értelmes ez a szó? " +
kis4Betus[i] + " (igen/nem) : ");
string valasz = Console.ReadLine();
if (valasz.ToUpper() == "IGEN")
{
sw.WriteLine(kis4Betus[i]);
db++;
}
else
{
if (valasz.ToUpper() != "NEM")
{
Console.WriteLine("Hibásan megadott érték! Kérem, hogy a válasza formátuma
igen/nem legyen!");
}
}
}
string ertelmesszavak = "Értelmes szavak száma:
" + db;
Console.WriteLine(ertelmesszavak);
sw.WriteLine(ertelmesszavak);
sw.Close();
}
static void Main(string[] args)
{
//A következő
feladatokban a tömböket a feltöltés után mindig listázd ki a képernyőre.
//Tudnivalók:
az ASCII táblában a betűk kódjainak határa:
// nagy betűk:
65-90
// kis betűk:
97-122
//1.feladat:
// Hozz létre
egy 26 elemű karaktertömböt nagyBetu néven.
// Töltsd föl
az angol ABC nagybetűivel. (Segítség: az ASCII kódot a Convert.ToChar
segítségével kell karakterré alakítani.)
//Írd ki egy
fájlba.
letrehozas_nagybetu();
//2.feladat:
// Hozz létre
egy 26 elemű karaktertömböt kisBetu néven.
// Töltsd föl
az angol ABC kisbetűivel.
//Írd ki egy új
fájlba.
letrehozas_kisbetu();
//3.feladat:
// Hozz létre
egy 2*26=52 elemű karaktertömböt osszesbetu néven.
// Másold át
ebbe a tömbbe az előző két tömb tartalmát egymás után.
//Ehhez először
olvasd be a két fájlt egy-egy új tömbbe
//és azt
dolgozd föl.
osszesbetu();
//4.feladat:
// Hozz létre
egy 26 elemű string tömböt betuParok néven
// Töltsd föl a
következőképpen: a kisBetu tömb 0. eleméhe
//add hozzá (+
jellel) a nagyBetu tomb 0. elemét úgy,
//hogy egy
stringet alkossanak: „Aa”;
//majd ezt a
stringet tedd bele a betuParok tömbbe.
//Ismételd meg
ezt a többi elemmel is.
betuparokossze();
//5.feladat:
// Hozz létre
egy 100 elemű karaktertömböt szazKisBetu néven.
//Töltsd föl
véletlenül kiválasztott kisbetűkkel.
randomkisbetu();
//6.feladat:
// Hozz létre
egy 10 elemű string tömböt, melyben 3 számjegyből álló
//titkos
kódokat fogsz tárolni.
// Töltsd föl a
következőképpen: alakíts stringgé egy véletlen számjegyet,
//és adj hozzá
még kettő ilyet úgy, hogy egy stringet alkossanak. (Pl.: 341, 593)
kodos();
//7. feladat:
//Oldd meg a
6-os feladatot azzal a változtatással,
//hogy öt
hosszú legyen a titkos kód.
//Az első
helyen egy véletlen számjegy álljon,
//aztán egy
véletlen kisbetű, aztán egy véletlen nagybetű,
//végül egy
véletlen kétjegyű szám. (Pl.: 3hZ71)
kodos2();
//8. feladat:
//Készíts 8
hosszú titkos kódot, melyben kisbetű, nagybetű, szám, és egyéb jelek is vannak.
//Szóköz,
ékezetes karakter nem lehet benne. Segítségül használd a 7 bites ASCII táblát.
//Pl.: fT!jq/d+
letrehozas_specialis();
kodos3();
//9. feladat:
//Alkoss a
kisBetu tömb elemeiből négybetűs szavakat, melyeket nem kell tárolni, csak
kiírni a képernyőre. //Megjegyzés: Ha nem tárolom, akkor nem tudom kiiratni
fájlba ha értelmes a szó!!!
//Minden egyes
szó kiírása után kérdezd meg a usert, hogy értelmes-e a szó.
//Ha értelmes a
szó, írd ki egy új fájlba.
//Számold meg,
hány értelmes szót sikerült alkotni, és az eredményt írd ki a képernyőre, és a
fájlba is az utolsó sorba.
kisbetusszavak();
}
}
}
Nincsenek megjegyzések:
Megjegyzés küldése