THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομημένος Προγραμματισμός => Topic started by: Vlassis on March 04, 2015, 20:25:57 pm



Title: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: Vlassis on March 04, 2015, 20:25:57 pm
Τόπικ για απορίες ασκήσεων.Για απορίες πάνω σε παλιά θέματα υπάρχει αντίστοιχο τόπικ.


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: Gooner on May 22, 2015, 15:23:43 pm
Υπάρχει κάποιος τρόπος δυναμικής δέσμευσης μνήμης ενός πίνακα ΝxM στην C?


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: nohponex on May 22, 2015, 15:29:47 pm
Υπάρχει κάποιος τρόπος δυναμικής δέσμευσης μνήμης ενός πίνακα ΝxM στην C?

Ναι, μπορεί να γίνει με διάφορους τρόπους, δες http://www.geeksforgeeks.org/dynamically-allocate-2d-array-c/

προτείνω τον 3ο
Code: (c)
// 3) Using pointer to a pointer
// We can create an array of pointers also dynamically using a double pointer. Once we have an array pointers allocated dynamically, we can // dynamically allocate memory and for every row like method 2.

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int r = 3, c = 4, i, j, count;
 
    int **arr = (int **)malloc(r * sizeof(int *));
    for (i=0; i<r; i++)
         arr[i] = (int *)malloc(c * sizeof(int));
 
    // Note that arr[i][j] is same as *(*(arr+i)+j)
    count = 0;
    for (i = 0; i <  r; i++)
      for (j = 0; j < c; j++)
         arr[i][j] = ++count;  // OR *(*(arr+i)+j) = ++count
 
    for (i = 0; i <  r; i++)
      for (j = 0; j < c; j++)
         printf("%d ", arr[i][j]);
 
   /* Code for further processing and free the
      dynamically allocated memory */
 
   return 0;
}

Output:

1 2 3 4 5 6 7 8 9 10 11 12


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: Gooner on May 22, 2015, 15:46:50 pm
Ευχαριστώ!  ;)


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: Gooner on May 27, 2015, 18:31:41 pm
Υπάρχει κάποια συνάρτηση, που θα καταχωρεί έναν αριθμό που διαβάσαμε (με scanf πχ) σε ένα file?


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: Vlassis on May 27, 2015, 18:47:13 pm
με την fscanf μπορεις να διαβαζεις και να γραφεις στο αρχειο κατευθειαν. Αλλιως αμα το διαβασεις με scanf μπορεις να το περασεις με τις συναρτησεις putc, fwrite και fputs. τσεκαρε στις σημειωσεις του κορτεση εξηγει τις διαφορες τους, ~σελ. 78.  ;)


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: katerina99 on May 27, 2015, 22:54:56 pm
με την fscanf μπορεις να διαβαζεις και να γραφεις στο αρχειο κατευθειαν. Αλλιως αμα το διαβασεις με scanf μπορεις να το περασεις με τις συναρτησεις putc, fwrite και fputs. τσεκαρε στις σημειωσεις του κορτεση εξηγει τις διαφορες τους, ~σελ. 78.  ;)
Μηπως η fscanf ειναι μονο για c+ γιατι κατι τετοιο καταλαβα.
Εκτος αν καταλαβα βλακεια.


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: pentium4 on May 27, 2015, 23:19:21 pm
με την fscanf μπορεις να διαβαζεις και να γραφεις στο αρχειο κατευθειαν. Αλλιως αμα το διαβασεις με scanf μπορεις να το περασεις με τις συναρτησεις putc, fwrite και fputs. τσεκαρε στις σημειωσεις του κορτεση εξηγει τις διαφορες τους, ~σελ. 78.  ;)
Μηπως η fscanf ειναι μονο για c+ γιατι κατι τετοιο καταλαβα.
Εκτος αν καταλαβα βλακεια.

?


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: katerina99 on May 27, 2015, 23:27:48 pm
μαλλον καταλαβα βλακεια  :(


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: pentium4 on May 27, 2015, 23:29:21 pm
μαλλον καταλαβα βλακεια  :(

γενικά δε θες να καταλάβουμε εμείς μάλλον


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: katerina99 on May 27, 2015, 23:38:06 pm
μαλλον καταλαβα βλακεια  :(

γενικά δε θες να καταλάβουμε εμείς μάλλον
ε τωρα ξεκινησα να το διαβαζω το μαθημα, δεν εχω δει καν τις εργασιες.
Καλα συγγνωμη.


Title: Re: [Δομημένος Προγραμματισμός] Απορίες σε ασκήσεις 14-15
Post by: Vlassis on May 28, 2015, 00:35:54 am
καταρχην ειναι c++, αυτο μπολνταρε και η πεντιουμ  :D
και οχι νομιζω χρησιμοποιειται στη c κανονικα, δεν ξερω αν υπαρχει κατι ιδιο/παρομοιο σε c++.  και στις σημειωσεις για C το γραφει ετσι κι αλλιως  :P