Wycinanie co drugiej litery w stringu.

1

Witam.

Mam problem jak zapisać, aby program wycinał mi co drugą literę w wyrazie.
Np. "Kajak" ma być "K j K"

Chcę użyć Substringa. Ale nie wiem jak to zapisać.

Dziękuję za pomoc.

1

Najszybciej (niekoniecznie najwydajniej :P) tak:

string kajak = "kajak";
string kjk = new string(kajak.Where((c, i) => i % 2 == 0).ToArray()); //jeżeli wycinamy tylko
string k_j_k = string.Join(" ",kajak.Where((c, i) => i % 2 == 0).ToArray()); //jeżeli chcemy zastąpić spacją
0

A jeżeli ma być wyraz podawany z klawiatury?

Napisz program, który pobiera od użytkownika tekst, a następnie wyświetla tekst po wycięciu co drugiego znaku.

Siedzę nad 5 zadaniami od 7, i już nie myślę..

0

Żadne substringi, stringbuildery ani LINQ nie są potrzebne.
Wystarczy utworzyć tablicę char o odpowiedniej długości, w pętli for umieścić w niej co drugi znak z wejściowego stringa, a na końcu utworzyć z niej stringa.

blubby napisał(a):

A jeżeli ma być wyraz podawany z klawiatury?

No to trzeba go pobrać przez jakieś Console.ReadLine czy coś.

@blubby:

  1. O temacie wątku dyskutujemy w wątku - nie pisz bezsensownych PM.
  2. Zamiast wycinać co drugą literę, dodawaj co drugą do pustej tablicy.
0
somekind napisał(a):

Żadne substringi, stringbuildery ani LINQ nie są potrzebne.
Wystarczy utworzyć tablicę char o odpowiedniej długości, w pętli for umieścić w niej co drugi znak z wejściowego stringa, a na końcu utworzyć z niej stringa.

Ależ moje pierwsze LINQ dokładnie to robi. Tylko zapis krótszy :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1