Προβλημα με πινακα χαρακτηρων

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
Sidj0n
Δημοσιεύσεις: 4
Εγγραφή: 21 Μάιος 2010 13:24

Προβλημα με πινακα χαρακτηρων

Δημοσίευση από Sidj0n » 24 Μάιος 2010 02:36

Μηπως ξερει κανεις πως μπορω να φτιαχω δυναμικα ενα 2D πινακα χαρακτηρων??Δηλαδη σε καθε γραμμη να μπορω να αποθηκευω ενα string.Δοκιμασα με το κλασσικο τροπο της malloc αλλα δεν δουλεψε..

Erevis
Δημοσιεύσεις: 56
Εγγραφή: 12 Ιουν 2008 16:31
Τοποθεσία: Χαλάνδρι

Προβλημα με πινακα χαρακτηρων

Δημοσίευση από Erevis » 24 Μάιος 2010 17:02

Κώδικας: Επιλογή όλων

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

#define MAX_STR_LENGTH 40

int main&#40;&#41;
&#123;
    char **strArray = NULL;
    int arraySize = 0;
    int i = 0;

    puts&#40;"Enter number of strings"&#41;;
    scanf&#40;"\n%d", &arraySize&#41;;
    
    //paraxwrhsh mnhmhs   
    strArray = &#40;char **&#41; malloc&#40;arraySize * sizeof&#40;char *&#41;&#41;;
    for&#40;i = 0; i < arraySize; ++i&#41;
    &#123;
        strArray&#91;i&#93; = &#40;char *&#41; malloc&#40;MAX_STR_LENGTH * sizeof&#40;char&#41;&#41;;
    &#125;


    //kwdikas poy xeirizetai ton pinaka...

    //apodesmeush mnhmhs
    for&#40;i = 0; i < arraySize; ++i&#41;
    &#123;
         free&#40;strArray&#91;i&#93;&#41;;
    &#125;
    free&#40;strArray&#41;;

    return 0;
&#125;

Αν θες καθε string του πίνακα να έχει διαφορετικό μέγεθος, διαβάζεις το μέγεθος μέσα στο loop και δίνεις στη malloc : μέγεθος * sizeof(char)

Sidj0n
Δημοσιεύσεις: 4
Εγγραφή: 21 Μάιος 2010 13:24

Προβλημα με πινακα χαρακτηρων

Δημοσίευση από Sidj0n » 24 Μάιος 2010 22:43

αυτο εκανα κ εγω αλλα οταν παω να εισαγω το πρωτο string βγαζει σφαλμα

Erevis
Δημοσιεύσεις: 56
Εγγραφή: 12 Ιουν 2008 16:31
Τοποθεσία: Χαλάνδρι

Προβλημα με πινακα χαρακτηρων

Δημοσίευση από Erevis » 27 Μάιος 2010 20:49

Εμένα πάντως μια χαρά διαβάζει τα strings. Είσαι σίγουρος πως δεν έχεις κάνει κάποιο λάθος? Καμιά φορά χάνεται κανένα αστεράκι στο type casting και γίνεται χαμός. :D

Sidj0n
Δημοσιεύσεις: 4
Εγγραφή: 21 Μάιος 2010 13:24

Προβλημα με πινακα χαρακτηρων

Δημοσίευση από Sidj0n » 09 Ιουν 2010 12:48

Erevis έγραψε:Εμένα πάντως μια χαρά διαβάζει τα strings. Είσαι σίγουρος πως δεν έχεις κάνει κάποιο λάθος? Καμιά φορά χάνεται κανένα αστεράκι στο type casting και γίνεται χαμός. :D
το προβλημα τελικα ηταν οτι στη scanf δεν χρειαζοταν να βαλω &array

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες