Kezdőoldal » Számítástechnika » Programozás » C#-ban hogyan készítek olyan...

C#-ban hogyan készítek olyan programot, ami kiszűri az ismétlődő karaktereket egy stringben?

Figyelt kérdés

A program célja, h egy stringben előforduló összes karakterből első előfordulásuk alapján készítsen egy új stringet. A probálkozásom:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApp24

{

class Program

{

static string ismetlodo(string s,string o)

{

int db = 0;

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

{

int j = 0;

while ((j<=db) && (s[i]!=o[j]))

{

j++;

}

if (j>db)

{


char[] t = o.ToCharArray();

t[db] = s[i];

o= new string(t);


db++;

}

}

return o;

}

static void Main(string[] args)

{

string s = "dfghssdhlgffzkjd", o="";

//int[] s = new int[10] { 1, 1, 2, 2, 2, 5, 5, 4, 6, 7 };

//int[] o = new int[10];

ismetlodo(s,o);


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

{

Console.WriteLine(o[i]);

}


Console.ReadKey();

}

}

}


Így a program összeomlik (out of range). Minden segítséget nagyon köszönök.


2017. okt. 24. 17:37
 1/3 anonim ***** válasza:
Listába tedd be az új karaktereket, a stringen pedig kettős ciklussal menjél végig, azaz két futó indexed legyen, amivel összehasonlítod a string két elemét.
2017. okt. 24. 18:27
Hasznos számodra ez a válasz?
 2/3 SimkoL ***** válasza:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApp1

{

class Program

{

static void Main(string[] args)

{

{

string ures = "";

string szo = "aaaa11235556477789000aaaBBBccAA";

foreach (char meg_nincs in szo) if (ures.IndexOf(meg_nincs) == -1) ures += meg_nincs;

Console.WriteLine(ures);

}

}

}

}

2017. okt. 24. 18:39
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

Nem sikerült megfejtenem miféle varázslás történik a kódodban, de az o paraméter például biztos, hogy felesleges.


Nagyfiús megoldás:


using System;

using System.Linq;


class Program

{

static void Main()

{

string str = "dfghssdhlgffzkjd";

Console.WriteLine($"{str} => {str.ToDistinct()}");

}

}


public static class StringExtensions

{

public static string ToDistinct(this string str) => new String(str.Distinct<char>().ToArray());

}

2017. okt. 24. 22:56
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!