Jump to content

mia voitheia se c++


xaritos_
 Κοινοποίηση

Recommended Posts

παιδια χρειαζομαι μια βοηθεια θελω στην c++ να φτιαξω ενα προγραμμα στο οποιο να διαβαζονται 15 αριθμοι και να τοποθετουνται σε πινακα αυτο το μερος το εχω κανει στη συνεχεια επειδει εχω κολησει θελω να βρεθει ο πρωτοσ αρτιος αριθμοσ του πινακα και να τυπωθει σε ποια θεση του πινακα υπαρχει και αν δν υπαρχει να διδετε μνμ.μπορει καποιος να βοηθεισει ξερω οτι ειναι κατι το απλο αλλα εχω κολλησει αυτη τη στιγμη αν μπορει καποιος ας βοηθεισει!!!!
Link to comment
Share on other sites

Θα βάλεις μια for να διασχίζει τον πίνακα (pin πχ, το όνομα του πίνακα). Μέσα στη for θα το βάλεις να κάνει την πράξη pin%2 (modulo). Εάν η διαίρεση βγάζει 0, ο αριθμός είναι άρτιος και θα του βάλεις να τυπώνει το i.

Βάλε και μια μεταβλητή που θα γίνεται 1 όταν βρει άρτιο, ώστε αν τελειώσει η for και τη βρει ακόμα 0 να τυπώνει πως δε βρήκε τίποτα.

Link to comment
Share on other sites

#include <stdio.h>

main(){

int i,pin[15],s=0,artios;

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

{

printf("\n doste ton [%d] arithmo tou pin[%d]=",i+1,i);

scanf("%d",&pin);

artios=pin;

if ("artios%2=0")s++;

printf("o protos artios arithmos einai pin[%d]=%d",artios);

}

}

exo kanei to eksis gia na s doso na katalaveis kapou exo kanei mia gkafa kai dn mporo na katalavo pou

Link to comment
Share on other sites

Γι' αυτό είπα βάλε και μια μεταβλητή που θα γίνεται 1 όταν βρει άρτιο, ώστε αν τελειώσει η for και τη βρει ακόμα 0 να τυπώνει πως δε βρήκε τίποτα.

 

artios=pin;

if (artios%2==0) && (check == 0) s++;

printf ktl

check = 1;

 

boolean θα τη δηλώσεις την check και θα την βάλεις ίση με 0 αρχικά

Link to comment
Share on other sites

se euxaristo gia tin voitheia alla eimai apo to apogeuma mprosta apo to pc kai fenete to exo kapsei kai dn mporo na vro lisi exo kanei to eksis kai m vgazei error sti 10 seira:

#include <stdio.h>

main(){

int i,pin[15],s=0,artios,check=0;

 

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

{

printf("\n doste ton [%d] arithmo tou pin[%d]=",i+1,i);

scanf("%d",&pin);

artios=pin;

if (artios%2==0)&&(check==0)s++;

printf("o protos artios arithmos einai pin[%d]=%d",artios);

check=1;

}

}

Link to comment
Share on other sites

Ε, κάποιο λάθος έχω κάνει στη σύνταξη της if με τα &&

Δες τις σημειώσεις του Ξεζωνάκη, κάπου το αναφέρουν..

 

 

Την check καλύτερα να τη δηλώσεις boolean.

Link to comment
Share on other sites

Η if μάλλον πρέπει να μπει όλη σε παρένθεση. Επίσης δεν νομίζω να μπορείς να έχεις εκεί το s++.

Δεν παίζει ρόλο η θέση, αφού δεν επηρεάζει η άυξηση του s (i έπρεπε να είναι κανονικά) οτι είναι από κάτω. Αλλά κανονικά θέλει {} μετά την if, αφού πρόκειται για 2 εντολές που πρέπει να εκτελεστούν.

 

to vrika apla ithele dipli parenthensi,apla deite ti m vgazei

dino to 1o arithmo tou pinaka kai m vgazei apo kato

o protos arithmos einai o pin[xxx]=0 kai meta m zitaei ton deutero arithmo

 

 

Αυτό νομίζω είναι ok

 

#include <stdio.h>
main(){
int i, j, pin[15], artios;
boolean check=0;

for (i=0; i<15; i++){
	printf("\n doste ton [%d] arithmo tou pin[%d]=", i+1, i);
	scanf("%d", &pin[i]);
}

for (j=0; j<15; j++){
	if (pin[j]%2==0 && check==0){
		artios=pin[j];
		printf("o protos artios arithmos einai pin[%d]=%d", j, artios);
		check=1;
	}
}
}

Link to comment
Share on other sites

Έτσι όπως το έχεις γράψει γεμίζεις και ελέγχεις τον πίνακα ταυτόχρονα.

Φαντάζομαι οτι όσο γεμίζεις θα σου λέει οτι ο πρώτος άρτιος είναι ο χ για κάθε άρτιο.

Φτιάξε μια συνάρτηση, γέμισε την πίνακα και μετά κάνε τους ελέγχους.

Εγώ έτσι θα το έκανα.:p

Link to comment
Share on other sites

oreosssss apla proxoraei me vima 3 dld m zitaei arithmo sti thesi 0 tou pinaka meta paei sti thesi 3 meta sti6 alla dn vlepo pouthena na exeis kanei kati tetio

Έχει 2 i++. Προχειροδουλειές του gkr41.:p

Γιατί δε χρησιμοποιείς cin-cout και μπλέκεις με printf-scanf;

Link to comment
Share on other sites

Οκ, διορθώθηκε.

1 ώρα για 10 σειρές. Καλύτερα να το έγραφα από την αρχή μόνος μου, έτσι όπως το είχες κάνει...

 

 

Έχει 2 i++. Προχειροδουλειές του gkr41.:p

Γιατί δε χρησιμοποιείς cin-cout και μπλέκεις με printf-scanf;

Γιατί είναι C σκέτη και όχι C++, άσχετα με το τι λέει ο τίτλος

Link to comment
Share on other sites

Επισκέπτης
This topic is now closed to further replies.
 Κοινοποίηση

×
×
  • Create New...