Kezdőoldal » Számítástechnika » Programozás » Hogyan kell megszámolni az...

Krujzg97 kérdése:

Hogyan kell megszámolni az x-eket (ebben a feladatban)? C# programozás

Figyelt kérdés

C# programozás:

Mivan akkor ha beolvasok egy fáljt egy 1 oszlopos tömbbe(15 soros és 20 széles), (pl 1 a tömb egyik sora: xxoxoxoxoxoxooxxxxox) és megszeretném számolni , (pl ebben az esetben) hogy hány db x van a tömbben? Ez csak azért kérdéses mert ha így írom be :

int xdb = 0;


for (int i = 0; i < foglaltsag.Lenght; i++)

{

if (foglaltsag[i] == "x")

{

xdb++;

}

}


Console.WriteLine(xdb);

Console.ReadLine();


Nem mellesleg ha karakterként keresném az x-et , akkor sem fogadja el , mert char és a string nem fér össze a hibaüzenet szerint.


int x = 0;


for (int i = 0; i < foglaltsag.Length; i++)

{

if (foglaltsag[i]='x')

{

x++;

}

}


Console.WriteLine(x);

Console.ReadLine();


( a program többi rész csak a beolvasás) akkor nem fogja megszámolni az x-eket, mert maga a sor nem egyenlő x-el. De a contains parancs sem jó, mert ha 1 szer megtalálja a többit figyelmen kívül hagyja. És azért nem írtam több dimenziós tömbbe , mert nem engedi szétválasztani magát a sorokat(pl úgy hogy:x x o x o x o x o x o x o o x x x x o x ) ( és ha még sikerülne is akkor egy rohadt hosszú if-es sorozattal tudnám csak megkeresni az összes x -et).

így olvasnám be ha 2 dimenziós lenne(tudom hogy hosszú de így tanultam meg):


string[,] foglaltsag = new string[15,20];

int sorszam2 = 0;


StreamReader sr2 = new StreamReader("foglaltsag.txt");


while (!sr2.EndOfStream)

{

string[] sor2 = sr2.ReadLine().Split(' ');

foglaltsag[sorszam2, 0] = Convert.ToString(sor2[0]);

foglaltsag[sorszam2, 1] = Convert.ToString(sor2[1]);

foglaltsag[sorszam2, 2] = Convert.ToString(sor2[2]);

foglaltsag[sorszam2, 3] = Convert.ToString(sor2[3]);

foglaltsag[sorszam2, 4] = Convert.ToString(sor2[4]);

foglaltsag[sorszam2, 5] = Convert.ToString(sor2[5]);

foglaltsag[sorszam2, 6] = Convert.ToString(sor2[6]);

foglaltsag[sorszam2, 7] = Convert.ToString(sor2[7]);

foglaltsag[sorszam2, 8] = Convert.ToString(sor2[8]);

foglaltsag[sorszam2, 9] = Convert.ToString(sor2[9]);

foglaltsag[sorszam2, 10] = Convert.ToString(sor2[10]);

foglaltsag[sorszam2, 11] = Convert.ToString(sor2[11]);

foglaltsag[sorszam2, 12] = Convert.ToString(sor2[12]);

foglaltsag[sorszam2, 13] = Convert.ToString(sor2[13]);

foglaltsag[sorszam2, 14] = Convert.ToString(sor2[14]);

foglaltsag[sorszam2, 15] = Convert.ToString(sor2[15]);

foglaltsag[sorszam2, 16] = Convert.ToString(sor2[16]);

foglaltsag[sorszam2, 17] = Convert.ToString(sor2[17]);

foglaltsag[sorszam2, 18] = Convert.ToString(sor2[18]);

foglaltsag[sorszam2, 19] = Convert.ToString(sor2[19]);

sorszam2++;

}

sr2.Close();


és így ha 1dimenziós :


string[] foglaltsag = new string[15];

int sorszam2 = 0;


StreamReader sr2 = new StreamReader("foglaltsag.txt");


while (!sr2.EndOfStream)

{

string[] sor2 = sr2.ReadLine().Split(' ');

foglaltsag[sorszam2] = Convert.ToString(sor2[0]);

sorszam2++;

}

sr2.Close();


A válaszokat előre is köszi :)



2016. ápr. 27. 14:33
 1/5 anonim ***** válasza:
Mi van?
2016. ápr. 27. 16:47
Hasznos számodra ez a válasz?
 2/5 gdavid04 válasza:

1) változók létrehozása

xc int

sr streamreader

2) adatok beolvasása

a sorokat karakterenként is be lehet olvasni a

sr.Read();

utasítással

if (sr.Read() == "X") {xc++;}

3) lezárod a fájlt srt és kiirod az adatokat

2016. ápr. 27. 17:01
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

string sor = "xxoxoxoxoxoxooxxxxox";

int xcount = sor.ToUpper().ToArray().Where(c => c.Equals('X')).Count();

Console.WriteLine(string.Format("x-ek száma: {0}", xcount));


A fenti kód ezt fogja kiírni: "X-ek száma: 12"

2016. ápr. 27. 17:29
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
Jesszusatyaúristen.
2016. ápr. 27. 18:17
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

using System;

using System.Linq;


class Program

{

static void Main()

{

int countOfX = "xxooxxxoooxoxxoxoxox".CountOf('x');

Console.WriteLine("Count of x is {0}", countOfX);

}

}


public static class StringExtensions

{

public static int CountOf(this string str, char searchedChar)

{

return str.Count(ch => ch == searchedChar);

}

}

2016. ápr. 27. 19:37
Hasznos számodra ez a válasz?

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!