Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Aufgabe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
12.02.2003, 19:35 Uhr
stacki



Hi,
wie würdet ihr ein Programm formulieren das mehrere Leerzeichen in der Eingabe durch ein einfaches in der Ausgabe ersetzt?

ciao Nils
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.02.2003, 20:51 Uhr
virtual
Sexiest Bit alive
(Operator)


Was wäre denn Dein Ansatz?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.02.2003, 10:30 Uhr
stacki



Tja gute frage. ich dachte irgendwie an sowas:


C++:
#include <stdio.h>

main()
{
      int c;
      while ((c =getchar()) != EOF)
            if (c == (x * ' '))   /* An dieser stelle weis ich net so recht weiter wie ich dem sagen soll das der wenn mehrere Leerzeichen vorhanden sind duch eines ersetzen soll */
                  c = ' ';
      printf ("\n", c);
}




tja aber das programm so wie es oben ist macht eigentlich garnichts. Und deswegen wollte ich mal wissen wie ihr das machen würdet.

ciao Nils
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.02.2003, 10:49 Uhr
~0xdeadbeef
Gast



C++:
#include <stdio.h>

main(){
    char c;
    while(c=getchar() != EOF) {
        printf("%c", c);
        if (c == ' ') {
            while(c=getchar() == ' '); //alle kommenden Leerzeichen überspringen
            printf("%c", c);
        }
    }
    printf("\n");
}


Oder so in der Richtung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.02.2003, 11:09 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
#include <stdio.h>

void kill_ws(char* str)
{
        char* ptr = str;

        while (*str)
        {
                while (*str==' ' && *(str+1) == ' ') ++str;
                *ptr++ = *str++;
        }
        *ptr = 0;
}

int main()
{
        char buffer[1000];

        printf("Eingabe: ");
        fflush(stdout);
        fgets(buffer, sizeof(buffer), stdin);

        kill_ws(buffer);
        printf(">%s<\n", buffer);
}


Ist nicht genau das, was du suchst, aber macht etwas sehr ähnliches
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: