Βοήθεια στην Γλώσσα C

jimissss

Νεοφερμένος

Ο jimissss αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Πατήσια (Αττική). Έχει γράψει 104 μηνύματα.
Εστω ενα ηλεκτρικό κυκλωμα αποτελουμενο από πηνία συνδεδεμενα σε σειρά η παράλληλα. Το μεγεθοσ που περιγράφει τα πηνία ονομάζεται αυτεπαγωγη και συμβολίζεται με το συμβολο [FONT=Calibri,Calibri][FONT=Calibri,Calibri]L[/FONT][/FONT]. Αναλόγωσ τησ συνδεσμολογίασ, οι τυποι υπολογισμου τησ συνολικησ αυτεπαγωγησ L, των [FONT=Calibri,Calibri][FONT=Calibri,Calibri]n [/FONT][/FONT]πηνίων είναι οι εξησ:
Συνολικη αυτεπαγωγη L, των
[FONT=Calibri,Calibri][FONT=Calibri,Calibri]n [/FONT][/FONT]πηνίων συνδεδεμενων σε σειρά:
[FONT=Calibri,Calibri][FONT=Calibri,Calibri]L = L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]1 [/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]+ L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]2 [/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]+ … + L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]n [/FONT][/FONT]όπου με [FONT=Calibri,Calibri][FONT=Calibri,Calibri]L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]i σ[/FONT][/FONT]υμβολίζουμε την αυτεπαγωγη του i-ουστου πηνίου
Συνολικη αυτεπαγωγη L, των
[FONT=Calibri,Calibri][FONT=Calibri,Calibri]n [/FONT][/FONT]πηνίων συνδεδεμενων παράλληλα:
[FONT=Calibri,Calibri][FONT=Calibri,Calibri]1/L = 1/L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]1 [/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]+ 1/L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]2 [/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]+ … + 1/L[/FONT][/FONT][FONT=Calibri,Calibri][FONT=Calibri,Calibri]n
[/FONT][/FONT]Ζητείται να γραφεί πρόγραμμα που να υπολογίζει και να εκτυπωνει τη συνολικη αυτεπαγωγη [FONT=Calibri,Calibri][FONT=Calibri,Calibri]n [/FONT][/FONT]πηνίων λαμβάνοντασ υπόψη τα εξησ:
Το πρόγραμμα κα ζητά από το χρηστη το πληθος
[FONT=Calibri,Calibri][FONT=Calibri,Calibri]n [/FONT][/FONT]των πηνίων. Θα πρεπει πάντα να υπάρχει τουλάχιςτον ενα πηνίο. Εφαρμόστε αμυντικό προγραμματισμό.
Θα ζητά από το χρηστη να εισαγει την αυτεπαγωγη του κάθε πηνίου που θα πρεπει να ειναι αριθμος μεγαλυτερος του μηδενος(εφαρμοστε αμηντυκο προγραμματισμο).Θα ρωτα τον ψρηστη αν τα πηνια ειναι συνδεδεμενα σε σειρα η παραλληλα.Θα εκτυπωνει την συνολικη αυτεπαγωγη l των n πηνιων αναλογα με την απαντηση του χρηστη.Θα ρωτα τον χρηστη αν θελει να υπολογισει και την σειρα αλλης αυτεπαγωγης πηνιων,οποτε θα εφαρμοζονται τα παραπανω βηματα(οσωτου ο χρηστης απαντησει οχι,οποτε το προγραμμα θα τερματιζει την λειτουργεια του)


Παιδια βοηθεια.μεχρι τησ 12 σημερα πρεπει να εχω στηλει αυτη την εργασια ομως δν ξερω πολλα απο γλωσσα
c και ουτε προλαβαινω να την μαθω.οποιος ξερει να γραφει σε γλωσσα c πιστευω θα του ειναι παιχνιδακι και δν θα του παρει πανω απο δεκα λεπτα.πλζ οποιος ξερει ασ το γραψει και μην αρχιζετε να μου λετε κατσε δι αβασε να την κανεις γτ δν θα προλαβω.πλζ πλζ πλζ:(.

ολο και καπιος φοιτητης πληροφορικης και αλλων τμηματων που κανουν γλωσσα c θα ειναι μεσα.αν μπορει ας βοηθησει θα του χρωσταω χαρη:clapup:.μεχχρι της 12 το βραδυ ομως:(
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Επεξεργάστηκε από συντονιστή:

JosefK

Πολύ δραστήριο μέλος

Ο Μιχαήλ αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 1,361 μηνύματα.
Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    float L;
    float *l;
    int n,i,j;
    do
    {
        do
        {
            printf("Αριθμός πηνίων (τουλάχιστον 1) :");
            scanf("%d",&n);
        }while (n<1);
        l = (float *) malloc(n *sizeof(float));
        for (i=0;i<n;i++)
        {
            do
            {
                printf("\nΕπαγωγή %dου πηνίου (πάνω από 0) :",i+1);
                scanf("%f",&l[i]);
            }while (l[i]<=0);
        }
        do
        {
                printf("Τα πηνία είναι :\n1.σε σειρά\n2.παράλληλα\n");
                scanf("%d",&j);
        }while(j!=1 && j!=2);
        L=0;
        for (i=0;i<n;i++)
        {
            if (j==1) L = L + l[i];
            else L = L + 1.0 / l[i];
        }
        if (j==2) L = 1.0 / L;
        printf("\nΣυνολική επαγωγή : %f",L);
        do
        {
                printf("\n\nΝέα εκτέλεση; :\n1.ναι\n2.όχι\n");
                scanf("%d",&j);
        }while(j!=1 && j!=2);
        free(l);
    }while (j==1);
    return 0;
}
Αν δεν έχετε διδαχθεί ακόμα δείκτες και δυναμική δέσμευση μνήμης, τότε αντικατέστησε τη γραμμή
float *l;
με
float l[100];
και σβήσε τις γραμμές
l = (float *) malloc(n *sizeof(float));
free(l);
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

jimissss

Νεοφερμένος

Ο jimissss αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Πατήσια (Αττική). Έχει γράψει 104 μηνύματα.
ωραιος ρε.βεβαια η προθεσμια ειχε περασει και το εστηλα αργοπορημενος αλλα ελπιζω να την δεχτει.παντως ευχαριστω:D
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 9,074 μηνύματα.
Ποια η διαφορα double και float ;
Αν δηλωσω μια μεταβλητη ως ακεραια και ο χρηστης του προραμματος πληκτρ. 20,13 ,ο υπολογιστης θα κρρατησει μονο το 20 και θα συνεχισει την εκτελεση του προγραμματος;
η πραξη 5.0/2.0 τι αριθμο επιστρεφει;
πως μπορω με μια συνθικη να ξεχωριζω τους ακεραιους απο τους πραγματικους; Δηλαδη αν θελω μονο ακεραιους
if (συνθηκη) {
k=k+1
} ή κατι τετοιο.
Ευχαριστω για καθε βοηθεια .
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

manos4

Πολύ δραστήριο μέλος

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 32 ετών, Μαθητής Γ' λυκείου και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 893 μηνύματα.
Ποια η διαφορα double και float ;
Αν δηλωσω μια μεταβλητη ως ακεραια και ο χρηστης του προραμματος πληκτρ. 20,13 ,ο υπολογιστης θα κρρατησει μονο το 20 και θα συνεχισει την εκτελεση του προγραμματος;
η πραξη 5.0/2.0 τι αριθμο επιστρεφει;
πως μπορω με μια συνθικη να ξεχωριζω τους ακεραιους απο τους πραγματικους; Δηλαδη αν θελω μονο ακεραιους
if (συνθηκη) {
k=k+1
} ή κατι τετοιο.
Ευχαριστω για καθε βοηθεια .

Η double θεωρητικά έχει μεγάλύτερο εύρος αριθμών απο την float.Χρησιμοποιείται πολυ συχνότερα απο την float αν θέλεις να φτιάξεις σχετικά απλά προγράμματα.Αλλά λόγω μεγαλύτερης κατανάλωσης μνήμης καλό είναι να επιλέγεις πιο προσεχτικά ποια μεταβλητή θα χρησιμοποείσεις αν θες να φτιάξεις πιο περίπλοκα προγραμματα.
Αν δηλώσεις μια μεταβλητή ακέραια ο υπολογιστής κρατάει την ακέραια τιμή.
η πράξη δίνει 2.5
Θα μπορούσες να βρεις έναν αλγόριθμο με τον οποίο να ελεγχεις αν το κλασματικό μέρος είναι διαφόρου του μηδενός(τότε είναι ακέραιος) αλλιώς δεκαδικός.
Επειδή έχουν περάσει αρκετές μέρες απο την τελευταία φορά που διάβασα η εξασκήθηκα στη C,καλύτερα να ψάξεις για αυτά που θες και να ακούσεις γνώμες και άλλων μελών.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Black_Butterfly

Πολύ δραστήριο μέλος

Η Αλεξάνδρα αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι Φοιτήτρια και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 1,327 μηνύματα.
Ποια η διαφορα double και float ;
Αν δηλωσω μια μεταβλητη ως ακεραια και ο χρηστης του προραμματος πληκτρ. 20,13 ,ο υπολογιστης θα κρρατησει μονο το 20 και θα συνεχισει την εκτελεση του προγραμματος;
η πραξη 5.0/2.0 τι αριθμο επιστρεφει;
πως μπορω με μια συνθικη να ξεχωριζω τους ακεραιους απο τους πραγματικους; Δηλαδη αν θελω μονο ακεραιους
if (συνθηκη) {
k=k+1
} ή κατι τετοιο.
Ευχαριστω για καθε βοηθεια .

Και η float και η double αναπαριστούν αριθμούς κινητής υποδιαστολής. Η διαφορά τους ειναι στον αριθμό των δεκαδικών ψηφίων που δέχονται. Η double μπορεί να δεχτεί πολύ περισσότερα και για αυτό τη προτιμούμε. Περι μνήμης: η float πιάνει 32 bits στη μνήμη ενώ η double 64.

Αν δηλώσεις μια μεταβλητή ακεραια και ο χρήστης σου δώσει δεκαδικό, η printf θα σου τυπώσει μόνο το ακέραιο μέρος. Μπορείς να πειραματιστείς και σε εναν compiler για να δεις τι τιμές θα πάρεις πίσω.

Το 5.0/2.0 θα σου επιστρέψει 2.500000 αν το δηλώσεις float ή double και στην printf το ζητήσεις ως %f. Αν το δηλώσεις int και στην printf το ζητήσεις ως %d θα πάρεις το ακέραιο μέρος.

Το τελευταίο δε το καταλαβαίνω. Εσύ θα δηλώσεις αν μια μεταβλητή είναι ακέραια ή πραγματική. Πιχι μπορείς να δηλώσεις μια μεταβλητή ως πραγματική αλλα μετά να την διαχειρίζεσαι ως ακέραια ή το οτιδήποτε. Επίσης υπάρχει και το (type)μεταβλητή που μπορείς να της αλλάξεις εσύ τύπο.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Mercury

Επιφανές μέλος

Ο Doctor αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Ισλανδία (Ευρώπη). Έχει γράψει 13,611 μηνύματα.
Θα μπορουσες: Να εκχωρεις την μεταβλητη που θα ειναι τυπου float σε μεταβλητη τυπου integer και στην συνεχεια να κανεις την διαιρεση(η αφαιρεση) μεταξυ του πρωτου και του δευτερου. Εαν ειναι διαφορο του μηδενος ειναι πραγματικος...αλλιως ειναι ακεραιος..
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

vassilis498

Διακεκριμένο μέλος

Ο vassilis498 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 7,079 μηνύματα.
όσον αφορά το τελευταίο που ρωτάς (τα άλλα εξαντλήθηκαν) υπάρχει έτοιμη συνάρτηση floor() στη math.h που σου επιστρέφει το ακέραιο μέρος ενός αριθμου. Μπορείς εύκολα δηλαδή να κάνεις έλεγχο με μια συνθήκη τύπου x == floor(x)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

Mercury

Επιφανές μέλος

Ο Doctor αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Ισλανδία (Ευρώπη). Έχει γράψει 13,611 μηνύματα.
Νομιζω ομως οτι θελει μονο τους αριθμους που ειναι ηδη ακεραιοι....και οχι το ακεραιο μερος....
Εκτος και εαν κανω λαθος..οποτε αγνοηστε με!!!!
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

vassilis498

Διακεκριμένο μέλος

Ο vassilis498 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 7,079 μηνύματα.
Νομιζω ομως οτι θελει μονο τους αριθμους που ειναι ηδη ακεραιοι....και οχι το ακεραιο μερος....
Εκτος και εαν κανω λαθος..οποτε αγνοηστε με!!!!

ναι για αυτό λέω πως το x == floor(x) είναι ένας απλός τρόπος να ξεχωρίσει τους ακέραιους. Αν ένας αριθμός είναι ίσος με το ακέραιο μέρος του σημαίνει ότι είναι ακέραιος.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Mercury

Επιφανές μέλος

Ο Doctor αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Ισλανδία (Ευρώπη). Έχει γράψει 13,611 μηνύματα.
Αχα....Συγνωμη....Μαλλον διαβασα γρηγορα το μηνυμα σου και δεν το καταλαβα σωστα...εχεις δικιο. Εκτος ομως εαν η ασκηση/η ο καθηγητης δεν θελουν την ετοιμη συναρτηση...
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

vassilis498

Διακεκριμένο μέλος

Ο vassilis498 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 7,079 μηνύματα.
Αχα....Συγνωμη....Μαλλον διαβασα γρηγορα το μηνυμα σου και δεν το καταλαβα σωστα...εχεις δικιο. Εκτος ομως εαν η ασκηση/η ο καθηγητης δεν θελουν την ετοιμη συναρτηση...

Δεν έχει νόημα να σου ζητήσει κανείς κάτι τέτοιο καθώς η συγκεκριμένη συνάρτηση φτιάχνεται εύκολα επί τόπου. Υπάρχουν ωστόσο και τρόποι να το βρεις χωρίς χρήση συνάρτησης αλλά δεν έχει νόημα να το πας έτσι.

επίσης (τώρα το δα ) μπορείς να χρησιμοποιήσεις και αλλαγή τύπου που ανέφερε η black butterfly σε στυλ x == (int) x το οποίο βέβαια λειτουργεί μόνο κατά περίπτωση αλλά σου κάνει τη δουλειά.

(έχω κάνει 500 edit lol :P )
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

babisgr

Πολύ δραστήριο μέλος

Ο babisgr αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Φοιτητής και μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 837 μηνύματα.
Που θα βρω τα περιεχόμενα των βιβλιοθηκών; (stdio πχ τί περιέχει) Έχω βρει κάποια πράγματα αλλά δεν είναι και πολύ κατατοπιστικά.. και επίσης αν βρείτε τίποτα που να εξηγεί τί κάνει κάθε συνάρτηση των βιβλιοθηκών..
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Mercury

Επιφανές μέλος

Ο Doctor αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Ισλανδία (Ευρώπη). Έχει γράψει 13,611 μηνύματα.
Αν δεν κανω λαθος στο help του εκαστοτε προγραμματος...
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

manos4

Πολύ δραστήριο μέλος

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 32 ετών, Μαθητής Γ' λυκείου και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 893 μηνύματα.
οι βιβλιοθήκες είναι πολλές και κάθε μια περιέχει πολές συναρτήσεις αν θέλεις να ψάξεις τις βιβλιοθήκες και τις συναρτήσεις που περιέχουν ψάξε στο google.Για τα προγράμματα που κάνεις τώρα αρκούν οι <stdio.h> και <math.h>(για μαθηματικές συναρτήσεις).
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Που θα βρω τα περιεχόμενα των βιβλιοθηκών; (stdio πχ τί περιέχει) Έχω βρει κάποια πράγματα αλλά δεν είναι και πολύ κατατοπιστικά.. και επίσης αν βρείτε τίποτα που να εξηγεί τί κάνει κάθε συνάρτηση των βιβλιοθηκών..
C file input/output.

Σε αυτά, google is your friend. :)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 9,074 μηνύματα.
Και η float και η double αναπαριστούν αριθμούς κινητής υποδιαστολής. Η διαφορά τους ειναι στον αριθμό των δεκαδικών ψηφίων που δέχονται. Η double μπορεί να δεχτεί πολύ περισσότερα και για αυτό τη προτιμούμε. Περι μνήμης: η float πιάνει 32 bits στη μνήμη ενώ η double 64.

Αν δηλώσεις μια μεταβλητή ακεραια και ο χρήστης σου δώσει δεκαδικό, η printf θα σου τυπώσει μόνο το ακέραιο μέρος. Μπορείς να πειραματιστείς και σε εναν compiler για να δεις τι τιμές θα πάρεις πίσω.

Το 5.0/2.0 θα σου επιστρέψει 2.500000 αν το δηλώσεις float ή double και στην printf το ζητήσεις ως %f. Αν το δηλώσεις int και στην printf το ζητήσεις ως %d θα πάρεις το ακέραιο μέρος.

Το τελευταίο δε το καταλαβαίνω. Εσύ θα δηλώσεις αν μια μεταβλητή είναι ακέραια ή πραγματική. Πιχι μπορείς να δηλώσεις μια μεταβλητή ως πραγματική αλλα μετά να την διαχειρίζεσαι ως ακέραια ή το οτιδήποτε. Επίσης υπάρχει και το (type)μεταβλητή που μπορείς να της αλλάξεις εσύ τύπο.
Ευχαριστω για την βοηθεια. Οσον αφορα το τελευταιο που ρωτησα. Θα κανω ενα παραδειγμα και ελπιζω να δειξω που ηταν το προβλημα μου. Ζηταω απο το χρηστη εναν αριθμο και θελω μονο τους περιτους, κανω μια εντολη επαναληψης while και αν αυτος πληκτρολογει αρτιο αριθμο θα του βγαζει ενα μυνημα "ξαναπληκτρολογησε ..." .Το ιδιο θελω να κανει και εδω.Να πληκτρολογει εναν αριθμο και αν δεν ειναι ακεραιος να πληκτρολογει καταλληλο μυνημα.Δηλαδη εψαχνα την συνθηκη και τα παιδια παρακατω μου ειπαν δυο καλες λυσεις.
Θα μπορουσες: Να εκχωρεις την μεταβλητη που θα ειναι τυπου float σε μεταβλητη τυπου integer και στην συνεχεια να κανεις την διαιρεση(η αφαιρεση) μεταξυ του πρωτου και του δευτερου. Εαν ειναι διαφορο του μηδενος ειναι πραγματικος...αλλιως ειναι ακεραιος..
Ευχαριστω πολυ.
όσον αφορά το τελευταίο που ρωτάς (τα άλλα εξαντλήθηκαν) υπάρχει έτοιμη συνάρτηση floor() στη math.h που σου επιστρέφει το ακέραιο μέρος ενός αριθμου. Μπορείς εύκολα δηλαδή να κάνεις έλεγχο με μια συνθήκη τύπου x == floor(x)
Δεν γνωριζα για την συναρτηση που λες. Ευχαριστω για την βοηθεια !
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Να πληκτρολογει εναν αριθμο και αν δεν ειναι ακεραιος να πληκτρολογει καταλληλο μυνημα.
Τότε θα πρέπει να διαβάζεις έναν float. Αν διαβάζεις int, you can't tell the original input, since it will be casted to (int).

Δηλαδή αν έχεις int και δώσει ο άλλος 2.4, θα γίνει cast σε 2. So, you need to read floats.
Κι από εκεί κοιτάς αν κόβοντας τα δεκαδικά παίρνεις τον ίδιο αριθμό.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

g1wrg0s

Επιφανές μέλος

Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 9,074 μηνύματα.
Τότε θα πρέπει να διαβάζεις έναν float. Αν διαβάζεις int, you can't tell the original input, since it will be casted to (int).

Δηλαδή αν έχεις int και δώσει ο άλλος 2.4, θα γίνει cast σε 2. So, you need to read floats.
Κι από εκεί κοιτάς αν κόβοντας τα δεκαδικά παίρνεις τον ίδιο αριθμό.

Σωστος.
Code:
float N;
int i;
main() {
  scanf("%f",&N);
  for(i=1;i<=N;i++) {                                   
    //εντολες
  } 
}
Ερωτηση: Για να ελεγχει η συνθηκη που ειναι μεσα στο for το i μετατρεπεται προσωρινα σε τυπο δεδομενων float και συγκρίνετε με το Ν ;
αλλο παραδειγμα ειναι αυτο : Ν= i+1.7 για αυτο το ερώτημα.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Επεξεργάστηκε από συντονιστή:

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Όταν βάζετε κώδικα, να χρησιμοποιείτε τα CODE tags και να κάνετε στοίχιση, όπως έκανα στο παραπάνω post. Βοηθάει στην ανάγνωση. :)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Χρήστες Βρείτε παρόμοια

  • Τα παρακάτω 0 μέλη και 2 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 9 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Top