freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

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


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [5 Μηνύματα]       Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
Sidj0n


Μέλος από: 21 Μαη 2010
Μηνύματα: 4

View users profile
ΜήνυμαΣτις: 24 Μαη 2010 01:36    Θέμα: Προβλημα με πινακα χαρακτηρων Απάντηση με παράθεση  Mark this post and the followings unread

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


Μέλος από: 12 Ιουν 2008
Μηνύματα: 56
Περιοχή: Χαλάνδρι
View users profile
ΜήνυμαΣτις: 24 Μαη 2010 16:02    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

κώδικας:

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

#define MAX_STR_LENGTH 40

int main()
{
    char **strArray = NULL;
    int arraySize = 0;
    int i = 0;

    puts("Enter number of strings");
    scanf("\n%d", &arraySize);
   
    //paraxwrhsh mnhmhs   
    strArray = (char **) malloc(arraySize * sizeof(char *));
    for(i = 0; i < arraySize; ++i)
    {
        strArray[i] = (char *) malloc(MAX_STR_LENGTH * sizeof(char));
    }


    //kwdikas poy xeirizetai ton pinaka...

    //apodesmeush mnhmhs
    for(i = 0; i < arraySize; ++i)
    {
         free(strArray[i]);
    }
    free(strArray);

    return 0;
}



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


Μέλος από: 21 Μαη 2010
Μηνύματα: 4

View users profile
ΜήνυμαΣτις: 24 Μαη 2010 21:43    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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


Μέλος από: 12 Ιουν 2008
Μηνύματα: 56
Περιοχή: Χαλάνδρι
View users profile
ΜήνυμαΣτις: 27 Μαη 2010 19:49    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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


Μέλος από: 21 Μαη 2010
Μηνύματα: 4

View users profile
ΜήνυμαΣτις: 09 Ιουν 2010 11:48    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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


το προβλημα τελικα ηταν οτι στη scanf δεν χρειαζοταν να βαλω &array[i]
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [5 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Συνδεση πινακα με λιστα στην c++ 9 pol2005 06 Μαη 2015 20:39
pol2005 Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 04 Δεκ 2016 14:12 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos