Jump to content



προβλημα με void


vellamos

Recommended Posts

καλησπερα παιδες.εχω κολλησει εδω και καποιες μερες σε ενα προγραμματακι στην c.

πρεπει να δημιουργησω μια void η οποια θα εχει 2 πινακες a,b θα γεμιζουν με 10 στοιχεια ο καθενας απο τον χρηστη. στην συνεχεια σε μια αλλη void δηλωνουμε εναν ακομα πινακα τα στοιχεια του οποιου θα ειναι το αθροισμα των δυο αλλων πινακων. πχ c[ι]=a[0]+b[0] και παει λεγοντας. εχω καταφερει να φτιαχω το προγραμμα χωρις συναρτηση αλλα δεν μπορω με τιποτα τις void.

παραθετω και τον κωδικα και αν μπορει καποιος να βοηθησει θα το εκτιμουσα..

--------------------------------------------------------------------------------------------------------------------------------------------------

#include<stdio.h>

#include<stdlib.h>

#define n 10

main()

{

int a[n],b[n],c[n],i;

printf("dose ta stixeia tou 1ou pinaka\n\a");

for (i=0;i<n;i++)

{

printf("%d stixeio",i+1);

scanf("%d",&a);

}

printf("\n\ndose ta stixeia tou 2ou pinaka\n\a");

for (i=0;i<n;i++)

{

printf(" %d stixeio",i+1);

scanf(" %d",&b);

}

for(i=0;i<n;i++)

{

c=a+b;

printf("to apotelesma einai: %d\n",c);

}

system("pause");

}

Link to comment
Share on other sites

#include <stdio.h>

//#include <stdlib.h> <---δε σου χρειαζεται πουθενα

#define N 10

void function1(int a[],int b[]);

void function2(int a[],int b[],int c[]);

int main(int argc, char *argv[])

{

int a[N],b[N],c[N];

function1(a,B);

function2(a,b,c);

return 0;

}

void function1(int a[],int b[])

{

int i;

printf("dose ta stixeia tou 1ou pinaka\n\a");

for (i=0;i<N;i++)

{

printf("%d stixeio",i+1);

scanf("%d",&a);

}

printf("\n\ndose ta stixeia tou 2ou pinaka\n\a");

for (i=0;i<N;i++)

{

printf(" %d stixeio",i+1);

scanf(" %d",&b);

}

}

void function2(int a[],int b[],int c[])

{

int i;

for(i=0;i<N;i++)

{

c=a+b;

printf("to apotelesma einai: %d\n",c);

}

}

Link to comment
Share on other sites

φαινεται οτι δουλευει αλλα εχω ενα προβληματακι. δεν προλαβαινω να δω τα αποτελεσματα. βαζω βεβαια και το system ("pause") αλλα παλι το ιδιο μηπως χρειαζεται καποια break;

Link to comment
Share on other sites

#include <stdio.h>

#include <stdlib.h> //<--- τωρα σου χρειαζεται γιατι καλεις τις malloc kai free

//#define N 10

void function1(int size,int a[],int b[]);

void function2(int size,int a[],int b[],int c[]);

int main(int argc, char *argv[])

{

int *a,*b,*c; //<--- τωρα δε περιοριζεσαι σε στατικους πινακες κατα τη //μεταγλωτισση,τους φτοιαχνεις δυναμικα κατα την εκτελεση με τη malloc

int size;

printf("Dwse to megethos twn pinakwn : ");

scanf("%d",&size);

a = (int *)malloc(size * sizeof(int));

b = (int *)malloc(size * sizeof(int));

c = (int *)malloc(size * sizeof(int));

function1(size,a,B);

function2(size,a,b,c);

free(a);

free(B);

free©;

return 0;

}

void function1(int size,int a[],int b[])

{

int i;

printf("dose ta stixeia tou 1ou pinaka\n\a");

for (i=0;i<size;i++)

{

printf("%d stixeio",i+1);

scanf("%d",&a);

}

printf("\n\ndose ta stixeia tou 2ou pinaka\n\a");

for (i=0;i<size;i++)

{

printf(" %d stixeio",i+1);

scanf(" %d",&b);

}

}

void function2(int size,int a[],int b[],int c[])

{

int i;

for(i=0;i<size;i++)

{

c=a+b;

printf("to apotelesma einai: %d\n",c);

}

}

Link to comment
Share on other sites

Υποθετω οτι δουλευεις σε καποιο IDE οπως το Bloodshed DevC++ ή κατι παρομοιο.

στη θεση της system("pause"); βάλε τη getchar();

H system μπορει να σου δουλευει στο συστημα σου αλλά σε κάποιο άλλο συστημα μπορει να μη δουλευει.Αντιθετα η getchar ειναι portable

Θα δεις τα αποτελεσματα σου.

Το καλυτερο βεβαια θα ηταν να βαλεις Linux(πχ μεσα απο τα Windows με τη χρηση του VirtualBox ή του VMware για να μη μπλεκεις με dual boot) ή να αλλάξεις το IDE σου σε καποιο καλυτερο οπως τα EclipseCDT,CodeBlocks,NetBeans,Microsoft Visual Studio Express Edtion ή ακομα να κατεβασεις MinGW και MSys δουλευεις απο cmd.

Link to comment
Share on other sites

ειναι μια πολυ καλη εκδοχη του προγραμματος αλλα ειμαι ακομα αρχαριος και αυτα που λες ειδικα στο τελευταιο ποστ.... αστα να πανε. εδω καλλαει παντως η διαφημηση "στην μανα σου το 'πες" χαχαχα..παντως ευχαριστω για την αμεση ανταποκρηση. ειχα καποιες μερες που μου ερχοταν να τα σπασω ολα στο δωματιο

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.