Szyfrowanie

0

Program ma zmieniac znaki niestety przy wprowadzeniu : GADE powinnienem dostac AGED a wynik mojego program to GGDD

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

int main()
{
    char tablica[10] = {'\0'};
            printf("podaj znaki\n");
            scanf("%s",tablica);


                            for(int i=0; i<strlen(tablica) ;i++)
                            {
                                    if(tablica[i]=='G')
                                    {
                                        tablica[i]='A';

                                    }
                                     if(tablica[i]=='A')
                                    {
                                        tablica[i]='G';

                                    }
                                     if(tablica[i]=='D')
                                    {
                                        tablica[i]='E';

                                    }
                                     if(tablica[i]=='E')
                                    {
                                        tablica[i]='D';

                                    }
                            }


                                            printf("%s",tablica);

    return 0;
}
1
if(tablica[i]=='G')
{
   tablica[i]='A';
   continue;
}
2

Wszystko masz dobrze (pomijając losową indentację), tylko używasz ifów zamiast ifa i else ifów. Wobec tego, dla litery G:

                                    if(tablica[i]=='G')
                                    {
                                        tablica[i]='A';

                                    }
                                     if(tablica[i]=='A')
                                    {
                                        tablica[i]='G';

                                    }

Zmieniasz na A, a potem sprawdzasz czy A (a po zmianie tak jest) i zmieniasz na G.

1

Można bawić się ifami, ale chyba lepiej stablicować słowniki

1 użytkowników online, w tym zalogowanych: 0, gości: 1