2023. január 30., hétfő

2023.01.30. Foreach - összegzés tétele

Házi feladat befejezni.
Ha nem megy valamelyik, nem gond, de meg kell próbálni.
Help:
Összegzés tételénél szorzás esetén a kezdőérték 1 legyen.

 Foreach - összegzés tétele
//1.Feladat:
//Töltsünk fel véletlenszámból képzett sorozattal
//egy 100 elemű tömböt a következő módon:
//Egy valódi kicsi véletlenszámot szorozzunk meg 2 négyzetgyökével,
//ez legyen az első szám.
//A keletkezett számot minden ciklusmagban növeljük meg
//hárommal, ezzel töltsük fel a többi tömbelemet.
//2. feladat:
//Hozz létre egy új 100 elemű tömböt egész számoknak.
//Ebbe az eredeti tömb számjegyeinek egész részei
//fognak kerülni.
int[] egeszSzamok = new int[100];
for (int i = 0; i < egeszSzamok.Length; i++)
{
    //egeszSzamok[0] = szamok[0]; ez nem működik
    egeszSzamok[i] = (int)szamok[i];
    //típuskényszerítés: egész számmá alakítjuk a törtet,
    //közben elveszik a tizedespont utáni rész,
    //most éppen ez a cél
    Console.WriteLine("Az új tömb {0}. eleme: {1}", i + 1, egeszSzamok[i]);
}
Console.ReadLine();
//3. feladat:
//Írjuk ki a tömb tartalmát a foreach ciklussal!
//x:ciklusváltozó, értéke automatikusan lépésenként 1-gyel nő,
//a típusát meg kell adni, egyezzen a tömbelemek típusával
//in kulcsszó után kell megadni a tömb nevét
//Minden tömbelemet ki tudunk olvasni,
//de megváltoztatni nem tudjuk.
//4. feladat:
//Írjuk ki a tömb tartalmát visszafelé!
//(Utolsó elemtől az elsőig, egyesével visszafelé lépkedve.)
//Összegzés tétele:
//Egy tömbben, vagy sorozatban határozd meg
//adott tulajdonságú elemek összegét.
//5. feladat:
//Határozd meg a tömbelemek összegét!
//6. feladat:
//Összegzés tétele:határozd meg a páros tömbelemek összegét!
//7. feladat:
//Összegzés tétele:határozd meg a páratlan tömbelemek összegét!
//8. feladat:
//Összegzés tétele:határozd meg a 50-nel osztható
//tömbelemek szorzatát!
//9. feladat:
//Írjunk ki 50 számot a képernyőre 100-zal kezdődően kettesével!
//10. feladat:
//Írjunk ki 50 egymást követő számot 1000-től
//kezdődően visszafelé!
//11. feladat:
//Írjunk ki a képernyőre sorfolytonosan (szóközzel elválasztva)
//10 db számot,amelyek közül az első az 1, és minden
//rákövetkező a duplája.
//12. feladat:
//Írjunk ki a képernyőre egy 10 elemű sorozatot,
//melynek első tagja -10000, minden következő tag
//az előző -0.5-szerese.

A megoldás eleje:
            //1.Feladat:
            //Töltsünk fel véletlenszámból képzett sorozattal
            //egy 100 elemű tömböt a következő módon:
            //Egy valódi kicsi véletlenszámot szorozzunk meg 2 négyzetgyökével,
            //ez legyen az első szám.
            //A keletkezett számot minden ciklusmagban növeljük meg
            //hárommal, ezzel töltsük fel a többi tömbelemet.
            //Írjunk ki minden tömbelemet ugyanabban a ciklusban.

            double[] szamok = new double[100];
            Random rnd = new Random();
            double a = rnd.NextDouble() * Math.Sqrt(2);
            for (int i = 0; i < szamok.Length; i++)
            {
                szamok[i] = a;
                Console.WriteLine(szamok[i]);
                a = a + 3;
            }
            Console.ReadLine();

            //2. feladat:
            //Hozz létre egy új 100 elemű tömböt egész számoknak.
            //Ebbe az eredeti tömb számjegyeinek egész részei
            //fognak kerülni.
            int[] egeszSzamok = new int[100];
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                //egeszSzamok[0] = szamok[0]; ez nem működik
                egeszSzamok[i] = (int)szamok[i];
                //típuskényszerítés: egész számmá alakítjuk a törtet,
                //közben elveszik a tizedespont utáni rész,
                //most éppen ez a cél
                Console.WriteLine("Az új tömb {0}. eleme: {1}", i + 1, egeszSzamok[i]);
            }
            Console.ReadLine();

            //3. feladat:
            //Írjuk ki a tömb tartalmát a foreach ciklussal!
            //x: az adott tömbelem, mindig az aktuális
            //a típusát meg kell adni, egyezzen a tömbelemek típusával
- a var kulcsszó bármilyen típusnak megfelel
            //in kulcsszó után kell megadni a tömb nevét
            //Minden tömbelemet ki tudunk olvasni,
            //de megváltoztatni nem tudjuk.
            foreach (int x in egeszSzamok)
            {
                Console.WriteLine(x);
            }
            Console.ReadLine();

            //4. feladat:
            //Írjuk ki a tömb tartalmát visszafelé!
            //(Utolsó elemtől az elsőig, egyesével visszafelé lépkedve.)
            for (int i = egeszSzamok.Length - 1; i >= 0; i--)
            {
                Console.WriteLine("Az új tömb {0}. eleme: {1}", i + 1, egeszSzamok[i]);
            }

            //5. feladat:
            //Összegzés tétele: határozd meg a tömbelemek összegét!
            int osszeg = 0;

            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                osszeg = osszeg + egeszSzamok[i];
            }
            Console.WriteLine("A tömbelemek összege: {0}", osszeg);
            Console.ReadLine();