• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

porządkowanie liter w wyrazach

VPS Starter Arubacloud
0 głosów
500 wizyt
pytanie zadane 8 czerwca 2016 w C i C++ przez Filius Gaduła (4,120 p.)

nie moge wpaść na pomysł czemu przy prowadzaniu wyrazów w poniższym programie np. "ala ma kota" porządkuje mi na początku dwie spacje pomimo tego iż wykluczam to ifem...

#include <string.h>
#include <stdio.h>

int main()
{
    char wyraz[81], pom;
    char *tekst;

    int ile, dl_tekstu;

    tekst = gets(wyraz);
    dl_tekstu = strlen(tekst);
 

    //sortowanie tekstu
    for(int i=0; i<dl_tekstu; i++){ 
        for(int j=i+1; j < dl_tekstu; j++){
            if((tekst[i] != ' ') && (tekst[i] > tekst[j]))
            {
                pom = tekst[i];
                tekst[i] = tekst[j];
                tekst[j] = pom;
            }
        }
    }
    puts(tekst);

    return 0;
}

 

1 odpowiedź

+2 głosów
odpowiedź 8 czerwca 2016 przez Sebastian Fojcik Nałogowiec (43,040 p.)
 
Najlepsza

Zrobiłeś warunek na tekst[ i ], ale tekst[ j ] nadal może być spacją. Należy uwzględnić drugi przypadek. 
Zatem Twój if powinien wyglądać tak:

if((tekst[i] != ' ') && (tekst[ j ] != ' ') && (tekst[i] > tekst[j]))

Teraz litery tekstu zostaną posortowane alfabetycznie, ale spacje pozostaną na swoich miejscach.
Wynikiem programu dla: Ala ma kota 
będzie: Aaa ak lmot

komentarz 8 czerwca 2016 przez Filius Gaduła (4,120 p.)
dzięki, właśnie też na to wpadłem, chodziło mi jeszcze o to żeby spacji się w ogóle pozbyć z wprowadzenia a litery posortowane byłyby w 1 ciągu znaków
komentarz 8 czerwca 2016 przez Sebastian Fojcik Nałogowiec (43,040 p.)

Gdybyś napisał program tak, aby działał na string, to wystarczy jedna pętla i pozbywasz się wszystkich spacji z tekstu. A tak, to musisz się bawić, bo tablica ma stały rozmiar, co wiele komplikuje.

Na pocieszenie: masz co najmniej kilka sposobów na pozbycie się spacji przy sortowaniu ;-)

Podobne pytania

0 głosów
0 odpowiedzi 665 wizyt
0 głosów
0 odpowiedzi 91 wizyt
pytanie zadane 16 lutego 2021 w C i C++ przez niezalogowany
0 głosów
2 odpowiedzi 559 wizyt
pytanie zadane 24 kwietnia 2015 w PHP przez januszek1234 Nowicjusz (120 p.)

92,973 zapytań

141,938 odpowiedzi

321,177 komentarzy

62,301 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...