PDA

View Full Version : Πρόγραμμα σε C, (Σταυρόλεξο)


panagiotis
07-05-2005, 20:13
void print(Puzzle words) // Εμφανίζει το σταυρόλεξο στην οθόνη
{
int i, j;

for(i=0; i < rows; i++)
{
for(j=0; j< cols; j++)
printf("%c ", words[i][j]);
printf("\n");
}
}

// -----------------------------------------------------------//

int num_spaces(Puzzle words) // Μετρά τις κενές θέσεις του πίνακα
{
printf(“δώσε μια στήλη:\n”);
Printf(“δώσε μια γραμμή:\n”);
ch=strcpy();
while(ch!=`\n’){
If(ch==`’)
num-of-spaces++;
ch=strcpy();
}
printf(“Ο αριθμός των κενών είναι %d.\n”,num-of-spaces);
Exit(0);
}
Μπορεί κάποιος να μου πει αν το κάνω σωστά.Ευχαριστώ

yop
07-05-2005, 21:51
Καλο θα ήταν να μας πεις και τι θέλεις να κάνεις με αυτο το προγραμμα, δηλ θες να εμφανίζεται στην οθόνη σε μορφή σταυρόλεξου? Για τώρα μπορώ να σου πω μόνο συντακτικά λάθη που έχεις (αν κάνεις compile αυτό που έκανες post δεν υπάρχει περίπτωση να πετύχει).
Οι δύο συναρτήσεις έχουν arguments τυπου Puzzle που δεν ορίζεται πουθενά.
Οι μεταβλητες rows, cols δεν οριζονται επισης πουθενα (ισως είναι global?).
Η μια printf() ειναι γραμμένη με κεφαλαιο Ρ.
Η strcpy() καλειται λάθος και δεν καταλαβαίνω τι θέλεις να κάνεις με αυτήν.
Η μεταβλητη ch δεν εχει οριστει.
Ζητας user input αλλά δεν την παίρνεις πουθενά (πχ με getchar()).
To if ειναι γραμμένο με κεφαλαίο Ι
num-of-spaces δεν εχει οριστει
Η exit(0) θα σε πεταει έξω απο το προγραμμα
Τα smileys δεν βολευουν καθολου μέσα στον κώδικα.
Προσπαθησε να το κανεις compile για να διώξεις τα χοντρα λαθη γιατι τώρα δεν μπορουμε να μιλήσουμε για λειτουργικότητα του προγράμματος αφου δεν θα κάνει καν compile...
Επισης όπως θα σου πουν πολλες φορες... Καλως ήρθες στο pctechnology.gr!

JohnFishy
11-05-2005, 12:25
Τα smilies βγηκαν οταν πηγε να γραψει αυτο που ηθελε δλδ το .;) (χωρις τη τελια) θα μεταφραζοταν στο παραπανω σμιλιε. το strcpy το χρησιμοποιει νομιζοντας (διορθωσε με αν κανω λαθος παναγιωτη) οτι περνει strings απο std input.

Κατα τα αλλα οπως ειπε κι ο yop δεν οριζεις μεταβλητες πουθενα. Φανταζομαι οτι εχεις συμπεριλαβει μονο ενα μερος του προγραμματος και εχεις δηλωσει τις μεταβλητες πιο πανω αλλα καλο θα ηταν να συμπεριλαβεις και το υπολοιπο.

And welcome to pctechnology :026: :084: :040: :033: :116: :012: :109: :109: :005: :005:

panagiotis
11-05-2005, 13:27
#include<stdio.h>
#include<string.h>

#define rows 8
#define cols 12

typedef char puzzle[rows][cols];
void create_puzzle(puzzle words)
{
int i,j;
for (i=0;i<rows;i++)
for(j=o;j<cols;j++)
words[i][j]=' ';
strcpy(words[1]," ce case");
strcpy(words[2]," hl t");e.t.c

for(i=0; i<rows;i++)
for(j=o;j<cols;j++)

if(words[i][j]=='\0')words[i][j]=' ';

Επειδή έχω συμβολοσειρές μέσα στο σταυρόλεξο,γιαυτό χρησιμοποίησα τη strcpy και όχι τη getchar.