Kezdőoldal » Számítástechnika » Programozás » Hogyan szorzom meg a páros...

Hogyan szorzom meg a páros tömb elemeit 2vel c#-ban?

Figyelt kérdés

Sziasztok!

a feladat hogy c#ban írjak 1 programot amiben 2 tömbben bekérek 10 számot és a páros tömb elemeit beszorzom 2-vel

Eddig jutottam hogy bekérem kiíratom de nem tudom hogy szorozzam

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)


{

int[] tomb = new int[10];

int[] paros = new int[10];

int[] paratlan = new int[10];

int i;

int szamlalo = 1;

for (i = 0; i < 10; i++)

{

Console.WriteLine("kérem az " + szamlalo + " számot");

tomb[i] = int.Parse(Console.ReadLine());

szamlalo++;

}

for (i = 0; i < 10; i++)

{

if (tomb[i] % 2 == 0)

{

paros[i] = tomb[i];

}



else

{

paratlan[i] = tomb[i];

}



}


for (i = 0; i < 10; i++)

{

Console.WriteLine("A páros tömb elemei: {0}", paros[i]);



for (i = 0; i < 10; i++)

{

Console.WriteLine("A páratlan tömb elemei: {0}", paratlan[i]);


}



Console.ReadKey();



}


}

}


2015. okt. 2. 12:44
1 2
 1/13 Piert ***** válasza:

foreach(int cursor in paros) cursor *=2;


Legalább is ahogy én értelmezem, erre gondolsz.

2015. okt. 2. 13:09
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
a tömb elemeit csak kiiratáskor kell, vagy változzon az értékük a tömbbön belül?
2015. okt. 2. 13:17
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:

amúgy nem értem... ha ezt meg tudtad írni:

for (i = 0; i < 10; i++)

{

if (tomb[i] % 2 == 0)

{

paros[i] = tomb[i];

}



akkor ez hogyhogy nem sikerült?


for (i = 0; i < 10; i++)

{

paros[i] = paros[i]*2; // vagy paros[i] *= 2;

}

2015. okt. 2. 13:24
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:

A kiírás rész nem jó, memóriaszemetet vagy 0-kat fogsz kiírni.

Ugyanis beolvasol 10 számot, utána kiírsz 2*10 számot (10 párosat, 10 páratlant).

Ezt úgy tudod orvosolni, hogy pl. két külön számlálóban (int) beolvasáskor megszámolod a páros, illetve a páratlan számokat. És kiíráskor csak a megfelelő számlálóig írod ki a két tömböt.


#1-es megoldása nem jó szerintem, ha a tömb elemeit kell megváltoztatni (2-vel szorozni). (Véleményem szerint, csak a lokális cursor változót szorozza meg 2-vel, nem a tömb elemét!)


helyette:

for (i = 0; i < paros_szamlalo; ++i) paros[i] *= 2;


#3, Te is túlindexelsz (a valós adatokon) :)

2015. okt. 2. 13:27
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
javítom: most látom nincs 10 eleme a páros tömbnek. a maximum érték legyen paros.Lenght
2015. okt. 2. 13:30
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:

"megszámolod a páros, illetve a páratlan számokat"

Minek? :) tomb.Lenght

2015. okt. 2. 13:31
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:

Az ilyeneknél is működik?

"int[] paros = new int[10]; "

2015. okt. 2. 13:53
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:

Utána is néztem :)

Szóval elnézést kérek a korábbi hozzászólásaim és tudatlanságom maitt :)

2015. okt. 2. 13:54
Hasznos számodra ez a válasz?
 9/13 SimkoL ***** válasza:

'Minek? :) tomb.Lenght' dinamikus tömb esetén :)) De jelen esetben mindig 10-et kapsz vissza.


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

int[] tomb = new int[10];

int[] paros = new int[10];

int[] paratlan = new int[10];

int odd = 0, even = 0 ;

for (int i = 0; i < 10; i++)

{

Console.WriteLine("Kérem az " + Convert.ToString(i+1)+ ". számot");

tomb[i] = int.Parse(Console.ReadLine());

if (tomb[i] % 2 == 0)

{

paros[odd] = tomb[i];

odd++;

}

else

{

paratlan[even] = tomb[i];

even++;

}

}

Console.WriteLine();

Console.WriteLine("A tömb elemei: ");

for (int i = 0; i < 10; i++) Console.Write(tomb[i] + " ");

Console.WriteLine();

Console.WriteLine("Párosak: ");

for (int i = 0; i < odd; i++) Console.Write(paros[i] + " ");

Console.WriteLine();

Console.WriteLine("Párosak kétszeres értéke: ");

for (int i = 0; i < odd; i++) Console.Write(paros[i] * 2 + " ");

Console.WriteLine();

Console.WriteLine("Páratlanok: ");

for (int i = 0; i < even; i++) Console.Write(paratlan[i] + " ");

Console.WriteLine();

Console.ReadKey();

}


}

}

2015. okt. 2. 13:54
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:

Elszoktam már a fix méretektől... de igazatok van.


Azért engedj meg egy apró korrekciót:

jelen esetben az i++ helyett hatékonyabb a ++i (ez igaz a odd és even-re is)

persze ilyen esetben nincs mérhető különbség, de jobb ha rögzül, hogy ilyen helyzetekben felesleges az i++

2015. okt. 2. 14:08
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!