Hilfe bei C programm
-
Hallo!
Ich bräuchte ein Programm das in einem Wort nach jedem 2 buchstaben einen anderen buchstaben einfügt?
Aber das programm soll variabel sein so das ich es leicht umändern kann, dass nach jedem 3 oder 4 buchstaben der andere buchstaben kommt.zb
Hausnummer --> Hbabubsbnbubmbmbebrb oder eben HabusbnubmmberbIch ahbe mir das irgendwie so gedascht aber es funktioniert nicht warum?
#include <stdio.h>
#include <stdlib.h>int main(int argc, char *argv[])
{
char *satz = "Hausnummer";
char buchstabe = 'b';int counter = 0;
int counter_2 = 0;
int lenght = strlen(satz);
int new_lenght = lenght * 2;
char *neww = malloc(sizeof(char) * new_lenght);if(counter % 2 == 0)
{
neww[counter] = satz[counter_2];
counter++;
counter_2++;
}
else
{
neww[counter] = buchstabe;
counter++;
}neww[new_lenght + 1] = '\0';
printf("%s\n", neww);
system("PAUSE");
return 0;
}
-
1. Du besorgst Speicher für Text der Länge new_lenght.
Da der Index bei 0 anfängt, existiert das Element neww[new_lenght] nicht.
Du greifst aber sogar auf neww[new_lenght + 1] zu2. Wie oft werden denn die Zeichen erstzt?
Lass dir mal am Ende counter, counter_2 und lenght ausgeben.Nutze beim nächsten mal die Code-Tags.