[C] Zamiana ciągu spacji na jedną spację
: 25 lip 2019, o 12:58
Witam, zacząłem się uczyć języka programowania C i mam problem z pewnym zadaniem. Polecenie brzmi, abym zamienił ciągi spacji między wyrazami na jedną spację. Mogę używać funkcju getchar, putchar, while, for, if, printf, ale żadnych else, scanf - ogólnie samych najbardziej podstawowych. Napisałem taki kod:
Problem jest w tym, że ten program usuwa na oko patrząc w danym ciągu tylko połowę spacji (np. dla "ahoj przygodo" zwraca "ahoj przygodo"), a chodzi mi by usunięte zostały wszystkie spacje oprócz jednej. Nie rozumiem w którym miejscu popełniam błąd, więc proszę o pomoc, wyrozumiałość i wyjaśnienie co robię nie tak.
Pozdrawiam.
-- 25 lip 2019, o 12:33 --
Rozwiązane, temat do usunięcia. -- 25 lip 2019, o 12:45 --Jednak nie naprawione. Już wiem dlaczego program usuwa tylko połowę spacji, ale wciąż nie wiem jak można rozwiązać to zadanie.
Kod: Zaznacz cały
#include <stdio.h>
main()
{
int a,b;
while((a=getchar()) !=EOF){
if(a==){
putchar(a);
b=getchar();
if(b==)
;
if(b !=)
putchar(b);
}
if(a !=)
putchar(a);
}
}
Pozdrawiam.
-- 25 lip 2019, o 12:33 --
Rozwiązane, temat do usunięcia. -- 25 lip 2019, o 12:45 --Jednak nie naprawione. Już wiem dlaczego program usuwa tylko połowę spacji, ale wciąż nie wiem jak można rozwiązać to zadanie.