Αποστολέας Θέμα: Δισδιάστατος πίνακας χαρακτήρων  (Αναγνώστηκε 3965 φορές)

elli

  • Νέος
  • *
  • Μηνύματα: 1
Δισδιάστατος πίνακας χαρακτήρων
« στις: 08 Μαΐ 2011, 02:14:57 μμ »
Καλησπέρα σε όλους,

Είμαι φοιτήτρια και έχω εργασία στο μάθημα Τεχνολογίες Μεθοδολογίες Προγραμματισμού. Πως κάνουμε δισδιάστατο πίνακα με ονόματα?? πχ θέλω να μου εμφανίζει
νικοσ
κοστασ



Σας επισυνάπτω και μία εικόνα πιο κατανοητή. Δουλεύω στο Dev-c++ 4.9.9.2  σε γλώσσα C χωρίς πολλά πολλά.

Ευελπιστώ στην άμεση απάντησή σας.
Ελλη 

Stavros

  • Θαμώνας
  • ***
  • Μηνύματα: 40
    • http://csforces.gr/
Απ: Δισδιάστατος πίνακας χαρακτήρων
« Απάντηση #1 στις: 09 Μαΐ 2011, 02:22:27 μμ »
Δεν μας είπες αν γνωρίζουμε όμως το μέγεθος του πίνακα. Αν τα ονόματα που θες να εισάγεις στον πίνακα είναι συγγεκριμένου αριθμού τότε:
Έστω 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 μπορείς να δηλώσεις έναν απλά μεγάλο αριθμό, που θα υπερκαλύπτει το μέγιστο πλήθος γραμμάτων ενός ονόματος.
« Τελευταία τροποποίηση: 09 Μαΐ 2011, 02:35:58 μμ από Stavros »
Stavros
3ετής φοιτητής πληροφορικής


Το νέο φοιτητικό site
www.universitas.gr
www.csforces.gr/forums
All about computers!!!
Join us!!!!

soron80

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 116
  • Back In Black
Απ: Δισδιάστατος πίνακας χαρακτήρων
« Απάντηση #2 στις: 09 Μαΐ 2011, 07:57:34 μμ »
τι μου θύμισες τώρα............
 ::) ::) ::) ::)
Τσισπαράς Βασίλης
Καθηγητής Πληροφορικής ΠΕ19