Thema: PROG. C HILFE!!!!
Klicke hier, um dich anzumelden
Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.
Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].
Wenn du möchtest, kannst du dieses Thema bewerten.
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)); }
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
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
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"); }
Foren-Regeln