Antworten

Thema: PROG. C HILFE!!!!

Nachricht

Klicke hier, um dich anzumelden

 

Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.

Zusätzliche Einstellungen

  • Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].

Thema bewerten

Wenn du möchtest, kannst du dieses Thema bewerten.

Übersicht (Neuester Beitrag zuerst)

  • 16.04.2008
    terra-power
    So, habs mal schnell debuggt, hier das ergebnis:

    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
    int i=0;
    int j=0;
    char txt[20];

    printf("Gib ein txt\n");
    scanf("%s",txt);


    for (int i=0;i<19;i++)
    {
    if ((txt[i]=='a') && (txt[i+1]=='u'))
    {txt[i]='e';
    txt[i+1]='i';
    j++;
    }

    }

    printf("%s",txt);
    printf("\n");
    printf("\nDie Gesammtzahl betraegt %i",(2*j));


    }
  • 16.04.2008
    terra-power
    Hm, hatte wegen Studium wenig zeit, deswegen melde ich mich erst jetzt. Dachte, vielleicht hätte jemand anderes des problems annehmen können :-)

    Ok, erste Frage ist "funktioniert nicht", was heißt denn das? Also habs in ne datei geschrieben, den letzten befehl jedoch weggelassen und es mit g++ compiliert. die kompilierung lief ohne probleme. beim ausführen gabs jedoch eine speicherverletzung was denke ich auf die schleife zurückzuführen ist. du legst oben 20 bytes an.. also ein feld von 0 bis 19, dann durchläufst du das feld von 0 bis 19, greifst aber an der einen stelle auf i+1 zu und somit betrittst du speicher, der dir nicht gehört.
    wenn du diesen fehler korrigierst, sollte das programm laufen.

    Zu Chris: "korrigiert mich, wenn ich falsch liege":

    http://de.wikipedia.org/wiki/C_%28Programmiersprache%29
    http://de.wikipedia.org/wiki/GNU_Compiler_Collection
  • 16.04.2008
    chris12
    ich denke ganz schlicht eimal, dass c/c++ oder was auch immer nicht auf linux funktionieren
    such doch mal nach nem linux c/c++ compeiler(ich weiss nicht ob es so einen gibt)

    korrigiert mich, wenn ich falsch liege



    mfg bb



    chris12
  • 14.04.2008
    Hallo,

    ich bräucht mal dringende hilfe und zwar hab ich hier ne aufgabe die ich nicht ganz lösen kann unter Linux.

    die Zeichenkette soll max 20 Zeichen einlesen
    wenn die zeichenkette zb. ein "au" "Au" "aU" oder "AU" enthält soll das umgewandelt werden durch "ei" "Ei" "eI" und "EI" .. der soll dann die änderung ausgeben.. + die anzahl der geänderten buchstaben!

    unter Dev-C++ funktionierts nur nicht unter Linux... kann mir jemand helfen?!

    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
    int i=0;
    int j=0;
    char txt[20];

    printf("Gib ein txt\n");
    scanf("%s",txt);


    for (int i=0;i<20;i++)
    {
    if ((txt[i]=='a') && (txt[i+1]=='u'))
    {txt[i]='e';
    txt[i+1]='i';
    j++;
    }

    }

    printf("%s",txt[i]);
    printf("\n");
    printf("\nDie Gesammtzahl betraegt %i",(2*j));

    system ("PAUSE");
    }

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Ja
  • Beiträge bearbeiten: Ja
  •