1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Hebräische Verschlüsselung

  • DaSeidl
  • 2. Januar 2014 um 15:08
  • Unerledigt
  • DaSeidl
    2
    DaSeidl
    Mitglied
    Punkte
    20
    Beiträge
    2
    • 2. Januar 2014 um 15:08
    • #1

    Hallo,

    Studiere Informatik im ersten Semester und bräuchte bei einer Übungsaufgabe eure Hilfe, da ich bei der Verbesserung leider nicht anwesend sein konnte.

    Also hier die Aufgabe.


    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Hier mein bisheriger Code:

    C
    #include <stdio.h>
    #include <string.h>
    
    
    
    
    int main (void) {
    
    
    
    
    int z,s;
    
    
    
    
    
    
    
    
    printf("Wie viele Zeilen und Spalten? \n");
    scanf("%d %d", &z,&s);
    
    
    
    
    char text [s][z];
    
    
    
    
    
    
    
    
    printf("Bitte geben sie den zu verschlüsselnden Text ein \n");
    fgets(text,128,stdin);
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    return 0;
    
    
    
    
    
    
    
    
    
    
    
    
    }
    Alles anzeigen

    Beim Kompilieren erhalte ich bei der fgets - Funktion jedoch eine Fehlermeldung. Meine Frage ist nun, wie man mit der fgets - Funktion in ein 2D - Array schreibt. Bin noch ziemlicher Anfänger also bitte ich um Nachsicht ;).


    Danke im voraus :)

    MfG DaSeidl

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 2. Januar 2014 um 15:25
    • #2

    Es gibt verschiedene Möglichkeiten. Die schönste ist wohl, zuerst mit fgets in ein eigenes s*z großes eindimensionales Array zu lesen und von dort den Text dann stückweise ins zweidimensionale Array zu kopieren.

    (Es gibt diverse Möglichkeiten, diese Kopie zu umgehen. Du bist noch nicht soweit.)

    *plantsch*

  • nussli
    1
    nussli
    Gast
    • 7. Januar 2015 um 09:26
    • #3
    C
    #include <stdio.h>
    #include <string.h>
    
    
    int main(void) {
        int posx=0;
        int posy=0;
        int posstr=0;
        int x;
        int y;
        int xg;
        int laenge;
        char eingabe[100];
        char table[100][100];
    
        printf("Zu verschluesselnde Nachricht eingeben: ");
        gets(eingabe);
        fflush(stdin);
        printf("Zeilenanzahl: ");
        scanf("%i", &x);
        fflush(stdin);
        printf("Spaltenanzahl: ");
        scanf("%i", &y);
        fflush(stdin);
        laenge = strlen(eingabe);
    
        for (posx=0;posx<x;posx++) {
            for (posy=0;posy<y;posy++) {
                if (laenge>=posstr) {
                    table[posx][posy] = eingabe[posstr];
                    posstr++;
                } else {
                    table[posx][posy] = '\0';
                }
            }
        }
        posstr=0;
        for (posy=0;posy<y;posy++) {
            for (posx=0;posx<x;posx++) {
                if (table[posx][posy] != '\0')
                    printf("%c", table[posx][posy]);
                }
        }
        getch();
        return 0;
    }
    Alles anzeigen

    Einmal editiert, zuletzt von nussli (7. Januar 2015 um 09:37)

  • Adok
    20
    Adok
    Mitglied
    Reaktionen
    49
    Punkte
    4.199
    Beiträge
    714
    • 7. Januar 2015 um 13:36
    • #4

    Du brauchst gar kein zweidimensionales Array - es geht einfacher:

    Speichere den String in einem char-Array ab und erstelle ein char-Array gleichen Umfangs.

    Wenn du von 0 bis n-1 iterierst, dann entspricht die Position i in dem Quell-Array der Position (i % zeilen) * spalten + i / zeilen in dem Ziel-Array. Die Variablen zeilen und spalten beziehen sich auf das Ziel-Array.

    Das ist deswegen so, weil ja die Anzahl der Zeilen im Ziel-Array der Anzahl der Spalten im Quell-Array entspricht. i % zeilen ergibt die Spalte im Quell-Array. Diesen Wert multipliziere ich mit spalten, um die Zeile im Ziel-Array zu erhalten. i / zeilen ergibt die Zeile im Quell-Array, das ist die Spalte im Ziel-Array.

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern