Καλησπέρα σε όλους,
Είμαι φοιτήτρια και έχω εργασία στο μάθημα Τεχνολογίες Μεθοδολογίες Προγραμματισμού. Πως κάνουμε δισδιάστατο πίνακα με ονόματα?? πχ θέλω να μου εμφανίζει
Σας επισυνάπτω και μία εικόνα πιο κατανοητή. Δουλεύω στο Dev-c++ 4.9.9.2 σε γλώσσα C χωρίς πολλά πολλά.
Ευελπιστώ στην άμεση απάντησή σας.
Ελλη
Δεν μας είπες αν γνωρίζουμε όμως το μέγεθος του πίνακα. Αν τα ονόματα που θες να εισάγεις στον πίνακα είναι συγγεκριμένου αριθμού τότε:
Έστω 10 ονόματα και μέγιστο αριθμό γραμμάτων 50:
#include<stdio.h>
#define N 10
#define M 50
main(){
char s[N][M];
int i;
for(i=0;i<N;i++)
scanf("%s", s[i]);
for(i=0;i<N;i++)
printf("%s\n", s[i]);
}
ή αυτό με την εντολή malloc:
#include<stdio.h>
#include<stdlib.h>
#define N 10
main(){
char *s[N];
int i;
for(i=0;i<N;i++)
s[i]=(char *)malloc(50*sizeof(char));
for(i=0;i<N;i++)
scanf("%s", s[i]);
for(i=0;i<N;i++)
printf("%s\n", s[i]);
}
Αν όμως δεν γνωρίζεις εκ των προτέρων τον αριθμό ονομάτων κτλ τότε θα πρέπει να χρησιμοποιήσεις την εντολή malloc 2 φορές.
#include<stdio.h>
#include<stdlib.h>
main(){
char **s;
int i, count;
scanf("%d", &count);
s=(char **)malloc(count*sizeof(char *));
for(i=0;i<count;i++)
s[i]=(char *)malloc(50*sizeof(char));
for(i=0;i<count;i++)
scanf("%s", s[i]);
for(i=0;i<count;i++)
printf("%s\n", s[i]);
}
Γενικά αντί για 50 μπορείς να δηλώσεις έναν απλά μεγάλο αριθμό, που θα υπερκαλύπτει το μέγιστο πλήθος γραμμάτων ενός ονόματος.
τι μου θύμισες τώρα............
::) ::) ::) ::)