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

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