GaNgBaNg Δημ. May 4, 2007 Κοινοποίηση Δημ. May 4, 2007 Και με το παρακατω δε λυνεται; #include <stdio.h> int i, pinakas[15]; main() { printf("Dwse mou 15 arithmous: \n"); for (i=0; i<15; i++) scanf("%d",&pinakas[i]); for (i=0; i<15; i++) if (pinakas[i]%2==0) { printf("O prwtos artios arithmos einai o %d kai vrisketai sth thesh %d.\n", pinakas[i], i); break; } if (pinakas[i]%2!=0) printf("Den exoun dothei perittoi arithmoi!\n"); } Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
ipparxos Δημ. May 4, 2007 Κοινοποίηση Δημ. May 4, 2007 Αν μιλάμε για c, η ANSI c, δεν υποστηρίζει boolean τύπους. Αν πάλι μιλάμε για c++ όπως αναφέρθηκε, είναι βέβαιο ότι τα scanf και printf γίνονται δεκτά;; Από τον καθηγητή εννοώ... Όχι από τον compiler. Στη c++ συνήθως προτιμούμε streams. Όσο για το πώς θα τερματίσει το πρόγραμμα, εγώ θα έκανα απλά ένα return μόλις έβρισκα τον πρώτο άρτιο. Όχι ότι τα άλλα δε θα δουλέψουν εξίσου καλά. Απλά εγώ το θεωρώ λίγο πιο καθαρό προγραμματιστικό στυλ αν το κάνεις με return. Εγκαταλείψτε την ελπίδα για ένα καλύτερο παρελθόν! Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
gkr41 Δημ. May 4, 2007 Κοινοποίηση Δημ. May 4, 2007 Αν μιλάμε για c, η ANSI c, δεν υποστηρίζει boolean τύπους. Αν πάλι μιλάμε για c++ όπως αναφέρθηκε, είναι βέβαιο ότι τα scanf και printf γίνονται δεκτά;; Από τον καθηγητή εννοώ... Όχι από τον compiler. Στη c++ συνήθως προτιμούμε streams. Όσο για το πώς θα τερματίσει το πρόγραμμα, εγώ θα έκανα απλά ένα return μόλις έβρισκα τον πρώτο άρτιο. Όχι ότι τα άλλα δε θα δουλέψουν εξίσου καλά. Απλά εγώ το θεωρώ λίγο πιο καθαρό προγραμματιστικό στυλ αν το κάνεις με return. Για C μιλάμε σίγουρα. Η C99 υποστηρίζει boolean (However, C99 does define a standard Boolean type, as long as you include <stdbool.h>). Πέρασε πάντως από τον compile και χωρίς το stdbool... Σχετικά με το προγραμματιστικό έχεις δίκιο αλλα για το επίπεδο του μαθήματος/σχολής/φοιτητών αρκεί. Μην το ψάχνεις παρακάτω :p Νομίζω πάντως πως η for μέσα σε for θα δουλέψει μεν, αλλά μου φαίνεται περιττό το να σκανάρει τόσες φορές τον πίνακα χωρίς λόγο. Προτιμότερο είναι 15x2 παρά 15x(1+2+3+4+5+6...15). [sIGPIC][/sIGPIC] Editors@myphone.gr: Γίνετε και εσείς μέλος της Συντακτικής Ομάδας Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
xaritos_ Δημ. May 4, 2007 Author Κοινοποίηση Δημ. May 4, 2007 shmera to mesimeri pou kseplokara vrika kai ego kai alli lisi kai pio sosti apo tin xthesini,to parakato: include<stdio.h> main() { int i,pin[15],s; for(i=0;i<15;i++) { printf("\n dose ton[%d]o arithmos tou pin[%d]=",i+1,i); scanf("%d",&pin); } i=0; s=0; while(i<15&&s==0) { if(pin%2==0){s=i;} else{i++;} } if(s!=0) { printf("\n o artios arithmos brethike,einai o pin[%d]=%d",s,pin);} else { printf("\n o artios arithmos den brethike pouthena");} getchar(); getchar(); } euxaristo gia to endiaferon pantos. Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
druides Δημ. May 5, 2007 Κοινοποίηση Δημ. May 5, 2007 Αν κατάλαβα σωστά απ' την εκφώνηση (1η δημοσίευση), σε νοιάζει να βρείς τον πρώτο άρτιο. Γιατί διατρέχεις ολόκληρο τον πίνακα; Επίσης, θα μπορούσες να το υλοποιήσεις και με έναν βρόχο :) Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
ipparxos Δημ. May 5, 2007 Κοινοποίηση Δημ. May 5, 2007 Αν κατάλαβα σωστά απ' την εκφώνηση (1η δημοσίευση), σε νοιάζει να βρείς τον πρώτο άρτιο. Γιατί διατρέχεις ολόκληρο τον πίνακα; Επίσης, θα μπορούσες να το υλοποιήσεις και με έναν βρόχο :) Όταν βρει τον πρώτο άρτιο το s αλλάζει τιμή και άρα το while τερματίζεται. Όχι ξεκάθαρο με την πρώτη ματιά, ε; Γι' αυτό πριν πρότεινα return στο σημείο εκείνο. Ή τουλάχιστον το s να έχει ένα πιο αντιπροσωπευτικό όνομα. (πχ. found) Edit: Να και μια δική μου πρόταση... #include <stdio.h> int main(void) { int i, array[15]; for(i=0;i<15;i++) { printf("Give a number for position #%d: ", i+1); scanf("%d",&array[i]); printf("\n"); } for(i=0; i<15; i++) if(array[i]%2==0) { printf("An even number found at position #%d\n\n", i+1); return 0; } printf("No even number found within the array!\n\n"); return 0; } Εγκαταλείψτε την ελπίδα για ένα καλύτερο παρελθόν! Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
ipparxos Δημ. May 5, 2007 Κοινοποίηση Δημ. May 5, 2007 Και μια έκδοση Beta 2: #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> void fillArray(int *array, int size) { int i, j, length; char buffer[40]; for(i=0; i<size; i++) { for(;;) { printf("Give an integer for position #%d: ", i+1); scanf("%s",&buffer); length=strlen(buffer); for(j=0; j<length; j++) //checking that user has typed only digits. { if (!isdigit(buffer[j])) break; } if (j>=length) break; //input is accepted. printf("Integers should consist only of digits [0-9]!!\n"); //input is inappropriate } array[i]=atoi(buffer); printf("\n"); } } int findFirstEven(int *array, int size) { int i; for(i=0; i<size; i++) if(array[i]%2==0) return i; printf("No even number found within the array!\n\n"); return 0; } int main(void) { int found, array[15]; fillArray(array, 15); found=findFirstEven(array, 15); if(found) printf("An even number found at position #%d\n\n", found); else printf("No even number found within the array!\n\n"); } Εγκαταλείψτε την ελπίδα για ένα καλύτερο παρελθόν! Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
xaritos_ Δημ. May 5, 2007 Author Κοινοποίηση Δημ. May 5, 2007 epeidei vlepo endiaferon as thesoume kai ta eksis to idio me to proigoumeno programma apla tora na vriskei kai ton proto peritto.Se ena allo pinaka me50 arithmous na mas vriskei posoi artioi einai monadikoi kai na topothetountai se pinaka!!!!! as riksei o kathenas tin protasi tou Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
gkr41 Δημ. May 5, 2007 Κοινοποίηση Δημ. May 5, 2007 Τώρα θες να ψαχτείς περισσότερο ή θες να σου λύσουμε και την επόμενη άσκηση; :rolleyes: Σε κάθε περίπτωση καλύτερα να κάτσεις να το κάνεις μόνος σου για να προπονείσαι και λίγο ;) [sIGPIC][/sIGPIC] Editors@myphone.gr: Γίνετε και εσείς μέλος της Συντακτικής Ομάδας Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
mcde Δημ. May 6, 2007 Κοινοποίηση Δημ. May 6, 2007 Όπως έχω ξαναγράψει σε παρόμοιες περιπτώσεις, εδώ είμαστε για να λύσουμε απορίες και πρόβληματα, όχι όμως και ολόκληρες ασκήσεις ή θέματα. Οι διευκρινήσεις που δόθηκαν είναι αρκετές, οπότε το παρόν topic κλειδώνεται. http://mcde.gr/tw/twitter-bird-light-bgs.png Link to comment Share on other sites Περισσότερες Επιλογές Κοινής Χρήσης
Recommended Posts