Házi feladat volt befejezni. Közösen értékeltük.
using System;
namespace orai_0906
{
class Program
{
static void Main(string[] args)
{
//1.Hozz létre egy 3 elemű tömböt szövegek tárolására.
string[] szoveg = { "zebra", "elefánt", "tigris" };
//2.Töltsd föl programból állatok neveivel. 3p
//3.Hozz létre egy újabb 3 elemű tömböt byte típusú számok tárolására.
byte[] szamok = new byte[szoveg.Length];
for (int i = 0; i < szoveg.Length; i++)
{
szamok[i] = Convert.ToByte(szoveg[i].Length);
}
int osszeg = 0;
for (int i = 0; i < szoveg.Length; i++)
{
osszeg +=szamok[i];
}
Console.WriteLine(osszeg);
Console.WriteLine($"Az összes szó hosszának átlaga. {osszeg / szoveg.Length}");
Console.ReadLine();
//4.Töltsd föl programból a byte tömb elemeit a szöveges tömb azonos indexű elemeinek a hosszával. (Pl.az első tömb első eleme: tigris, tehát a második tömb első elemébe 6 kerül.) Függvényt használj. 2p
//5.Számold ki egy változóba, majd írd ki az összes szó hosszának átlagát. 3p
//----------------------------------------------------------------------------------
//6.Hozz létre egy új, 3 elemű tömböt egész számok tárolására.
int[] szamok2 = new int[3];
//7.A tömb elemeinek kezdőértékét add meg programból: mindegyik legyen nulla. 2p
for (int i = 0; i < szamok2.Length; i++)
{
szamok2[i] = 0;
}
//----------------------------------------------------------------------------------
//Ezeket kell felülírnod a felhasználótól bekért számokkal a következőképpen(8 - 10.feladat):
//8.Írd ki az elején egyszer, hogy nullánál nagyobb, vagy nullánál kisebb számokat írhat be(nullát nem).
//9.Egy változóba kérd be a számot, és vizsgáld meg a következőképpen egymásba ágyazott szelekciókkal:
int[] bekertSzamok = new int[szamok2.Length];
for (int i = 0; i < szamok2.Length; i++)
{
Console.Write("0-nál nagyobb vagy nullánál kisebb számokat kell beírnod!(NULLÁT NEM!): ");
int ideiglenes = Convert.ToInt32(Console.ReadLine());
if (ideiglenes != 0)
{
if (ideiglenes > 0)
{
Console.WriteLine("A szám pozitív");
}
else
{
Console.WriteLine("A szám negatív!");
}
bekertSzamok[i] = ideiglenes;
}
else
{
Console.WriteLine("0-át írtál be!");
}
}
//Ha a szám negatív, akkor írd ki, hogy negatív.
//Ha pozitív, írd ki, hogy pozitív.
//Ha jó számot írt be, tedd be a tömbben a helyére a számot.
//Ha nullát írt be, írj ki hibaüzenetet(a tömbelem értéke nulla marad). 4p
//10.A többi tömbelemmel ugyanígy járj el. (Ehhez használhatsz ciklust, de nem kötelező.) 1p
//----------------------------------------------------------------------------------
//11.Írd ki a képernyőre az előző számokat egymás mellé, közöttük pontosvessző legyen. 1p
for (int i = 0; i < bekertSzamok.Length; i++)
{
if (i < bekertSzamok.Length - 1)
{
Console.Write($"{bekertSzamok[i]}; ");
}
else
{
Console.WriteLine(bekertSzamok[i] + ";");
}
}
Console.ReadLine();
//12.Csökkentsd le a tömb minden elemének értékét 1 - gyel. (Nem feladat, de érdemes újra kiírni az elemeket ellenőrzésképpen.) 1p
for (int i = 0; i < bekertSzamok.Length; i++)
{
bekertSzamok[i]--;
Console.WriteLine(bekertSzamok[i]);
}
Console.ReadLine();
//----------------------------------------------------------------------------------
//13.Tölts föl egy új, 5 elemű, egész számokat tartalmazó tömböt
int[] egeszek = new int[5];
//1 és 100 közötti véletlenszámokkal(lehessen 1 is és 100 is).
Random rnd = new Random();
for (int i = 0; i < egeszek.Length; i++)
{
egeszek[i] = rnd.Next(0, 101);
}
Console.WriteLine($"A tömb {egeszek.Length} elemű");
for (int i = 0; i < egeszek.Length; i++)
{
Console.WriteLine($"Az {i + 1}.tömbelem értéke: {egeszek[i]}");
}
Console.ReadLine();
//(Ehhez használhatsz ciklust, de nem kötelező.) 2p
//14.Írd ki függvény segítségével, hány elemű a tömb. 1p
//15.Írd ki a tömb elemeit a képernyőre, mindegyiket új sorba
//a következő formának megfelelően: Az 1.tömbelem értéke: 55. (Az érték csak példa.)
//A sorszámozás 1 - től kezdődjön.A sorszámot változó segítségével írd ki. 2p
//----------------------------------------------------------------------------------
//Kétágú szelekcióval oldd meg a következőket:
//16.Ha a tömbben lévő utolsó szám osztható 10 - zel,
int utolso = egeszek.Length - 1;
if (egeszek[utolso] % 10 == 0)
{
Console.WriteLine(egeszek[utolso] / 10);
}
else
{
Console.WriteLine(Math.Sqrt(egeszek[utolso]) * Math.Pow(egeszek[utolso], 6));
}
Console.ReadLine();
//akkor írd ki a 10 - zel való osztás eredményét a képernyőre.
//17.Ha az utolsó szám nem osztható 10 - zel, akkor írd ki a képernyőre
//a következő szorzat eredményét(függvényeket használj):
//szám négyzetgyöke *a szám a hatodikon
//5p
//----------------------------------------------------------------------------------
//18.Cseréld meg az utolsó tömb sorrendben első és utolsó elemét.
//(Magadnak kiírhatod az elemeket újra.)
int seged = 0;
seged = egeszek[utolso];
egeszek[utolso] = egeszek[0];
egeszek[0] = seged;
for (int i = 0; i < egeszek.Length; i++)
{
Console.WriteLine($"Az {i + 1}.tömbelem értéke: {egeszek[i]}");
}
Console.ReadLine();
//1p
}
}
}
Másik lehetséges megoldás Alentől (egy-két apróbb hibával):
using System;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
// 1.Hozz létre egy 3 elemű tömböt szövegek tárolására.
string[] title = new string[3];
//2.Töltsd föl programból állatok neveivel. 3p/3p
title[0] = "kutya";
title[1] = "macska";
title[2] = "egér";
//3.Hozz létre egy újabb 3 elemű tömböt byte típusú számok tárolására.
byte[] lownumbers = new byte[3];
//4.Töltsd föl programból a byte tömb elemeit a szöveges tömb azonos indexű elemeinek a hosszával. (Pl.az első tömb első eleme: tigris, tehát a második tömb első elemébe 6 kerül.) Függvényt használj. 2p/2p
lownumbers[0] = Convert.ToByte(title[0].Length);
lownumbers[1] = Convert.ToByte(title[1].Length);
lownumbers[2] = Convert.ToByte(title[2].Length);
//5.Számold ki egy változóba, majd írd ki az összes szó hosszának átlagát. 3p/3p
double atlag = (lownumbers[0] + lownumbers[1] + lownumbers[2]) / 3;
Console.WriteLine("Átlag: {0}", atlag);
//----------------------------------------------------------------------------------
//6.Hozz létre egy új, 3 elemű tömböt egész számok tárolására.
double[] egesz = new double[3];
//7.A tömb elemeinek kezdőértékét add meg programból: mindegyik legyen nulla. 2p/2p
for (int i = 0; i < 3; i++)
{
egesz[i] = 0;
}
//----------------------------------------------------------------------------------
//Ezeket kell felülírnod a felhasználótól bekért számokkal a következőképpen(8 - 10.feladat):
//8.Írd ki az elején egyszer, hogy nullánál nagyobb, vagy nullánál kisebb számokat írhat be(nullát nem).
Console.Write("Kérlek írj be nullánál nagyobb VAGY nullánál kisebb számot (ezt 3x kell megtenni): ");
//9.Egy változóba kérd be a számot, és vizsgáld meg a következőképpen egymásba ágyazott szelekciókkal:
double adat = Convert.ToByte(Console.ReadLine());
//Ha a szám negatív, akkor írd ki, hogy negatív.
for (int i = 0; i < 3; i++)
{
if (adat < 0)
{
Console.WriteLine("A szám negatív!");
egesz[i] = adat;
}
else
{
if (adat > 0)
{
Console.WriteLine("A szám pozitív!");
egesz[i] = adat;
}
else
{
Console.WriteLine("Hiba!");
}
}
}
//Ha pozitív, írd ki, hogy pozitív.
//Ha jó számot írt be, tedd be a tömbben a helyére a számot.
//Ha nullát írt be, írj ki hibaüzenetet(a tömbelem értéke nulla marad). 4p/4p
//10.A többi tömbelemmel ugyanígy járj el. (Ehhez használhatsz ciklust, de nem kötelező.) 1p/1p
//----------------------------------------------------------------------------------
//11.Írd ki a képernyőre az előző számokat egymás mellé, közöttük pontosvessző legyen. 1p/1p
Console.WriteLine("Előző számok: {0}, ;{1}, ;{2}", egesz[0], egesz[1], egesz[2]);
//12.Csökkentsd le a tömb minden elemének értékét 1 - gyel. (Nem feladat, de érdemes újra kiírni az elemeket ellenőrzésképpen.) 1p/1p
for (int i = 0; i < 3; i++)
{
egesz[i] = egesz[1] - 1;
}
// ----------------------------------------------------------------------------------
//13.Tölts föl egy új, 5 elemű, egész számokat tartalmazó tömböt
double[] egesz5 = new double[5];
//1 és 100 közötti véletlenszámokkal(lehessen 1 is és 100 is).
Random random = new Random();
double randomreal = random.Next(0, 101);
double randomreal1 = random.Next(0, 101);
double randomreal2 = random.Next(0, 101);
double randomreal3 = random.Next(0, 101);
double randomreal4 = random.Next(0, 101);
egesz5[0] = randomreal;
egesz5[1] = randomreal1;
egesz5[2] = randomreal2;
egesz5[3] = randomreal3;
egesz5[4] = randomreal4;
//(Ehhez használhatsz ciklust, de nem kötelező.) 2p/2p
//14.Írd ki függvény segítségével, hány elemű a tömb. 1p/1p
Console.WriteLine("Ennyi elemű a tömb: {0}", egesz5.Length);
//15.Írd ki a tömb elemeit a képernyőre, mindegyiket új sorba
string valtozo1 = "első";
string valtozo2 = "második";
string valtozo3 = "harmadik";
string valtozo4 = "negyedik";
string valtozo5 = "ötödik";
Console.Write("a következő formának megfelelően: Az {0}tömbelem értéke: {1}", valtozo1, egesz5[0]);
Console.WriteLine("a következő formának megfelelően: A {0}tömbelem értéke: {1}", valtozo2, egesz5[1]);
Console.Write("a következő formának megfelelően: A {0}tömbelem értéke: {1}", valtozo3, egesz5[2]);
Console.WriteLine("a következő formának megfelelően: A {0}tömbelem értéke: {1}", valtozo4, egesz5[3]);
Console.Write("a következő formának megfelelően: Az {0}tömbelem értéke: {1}", valtozo5, egesz5[4]);
//a következő formának megfelelően: Az 1.tömbelem értéke: 55. (Az érték csak példa.)
//A sorszámozás 1 - től kezdődjön.A sorszámot változó segítségével írd ki. 2p/2p
// ----------------------------------------------------------------------------------
//Kétágú szelekcióval oldd meg a következőket:
if (egesz5[4] % 10 == 0)
{
Console.WriteLine(egesz[4] / 10);
}
else
{
Console.WriteLine(Math.Sqrt(egesz[4]) * Math.Pow(egesz[4], 6));
}
//16.Ha a tömbben lévő utolsó szám osztható 10 - zel,
//akkor írd ki a 10 - zel való osztás eredményét a képernyőre.
//17.Ha az utolsó szám nem osztható 10 - zel, akkor írd ki a képernyőre
// a következő szorzat eredményét(függvényeket használj):
//szám négyzetgyöke *a szám a hatodikon
//5p/5p
//----------------------------------------------------------------------------------
//18.Cseréld meg az utolsó tömb sorrendben első és utolsó elemét.
//(Magadnak kiírhatod az elemeket újra.)
double csereelso = egesz[0];
double cseremasodik = egesz[4];
egesz[4] = csereelso;
egesz[0] = cseremasodik;
//1p/1p
//28/28p
}
}
}