jimissss
Νεοφερμένος
Συνολικη αυτεπαγωγη 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 θα ειναι μεσα.αν μπορει ας βοηθησει θα του χρωσταω χαρη.μεχχρι της 12 το βραδυ ομως
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
JosefK
Πολύ δραστήριο μέλος
#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
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Αν δηλωσω μια μεταβλητη ως ακεραια και ο χρηστης του προραμματος πληκτρ. 20,13 ,ο υπολογιστης θα κρρατησει μονο το 20 και θα συνεχισει την εκτελεση του προγραμματος;
η πραξη 5.0/2.0 τι αριθμο επιστρεφει;
πως μπορω με μια συνθικη να ξεχωριζω τους ακεραιους απο τους πραγματικους; Δηλαδη αν θελω μονο ακεραιους
if (συνθηκη) {
k=k+1
} ή κατι τετοιο.
Ευχαριστω για καθε βοηθεια .
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
manos4
Πολύ δραστήριο μέλος
Ποια η διαφορα double και float ;
Αν δηλωσω μια μεταβλητη ως ακεραια και ο χρηστης του προραμματος πληκτρ. 20,13 ,ο υπολογιστης θα κρρατησει μονο το 20 και θα συνεχισει την εκτελεση του προγραμματος;
η πραξη 5.0/2.0 τι αριθμο επιστρεφει;
πως μπορω με μια συνθικη να ξεχωριζω τους ακεραιους απο τους πραγματικους; Δηλαδη αν θελω μονο ακεραιους
if (συνθηκη) {
k=k+1
} ή κατι τετοιο.
Ευχαριστω για καθε βοηθεια .
Η double θεωρητικά έχει μεγάλύτερο εύρος αριθμών απο την float.Χρησιμοποιείται πολυ συχνότερα απο την float αν θέλεις να φτιάξεις σχετικά απλά προγράμματα.Αλλά λόγω μεγαλύτερης κατανάλωσης μνήμης καλό είναι να επιλέγεις πιο προσεχτικά ποια μεταβλητή θα χρησιμοποείσεις αν θες να φτιάξεις πιο περίπλοκα προγραμματα.
Αν δηλώσεις μια μεταβλητή ακέραια ο υπολογιστής κρατάει την ακέραια τιμή.
η πράξη δίνει 2.5
Θα μπορούσες να βρεις έναν αλγόριθμο με τον οποίο να ελεγχεις αν το κλασματικό μέρος είναι διαφόρου του μηδενός(τότε είναι ακέραιος) αλλιώς δεκαδικός.
Επειδή έχουν περάσει αρκετές μέρες απο την τελευταία φορά που διάβασα η εξασκήθηκα στη C,καλύτερα να ψάξεις για αυτά που θες και να ακούσεις γνώμες και άλλων μελών.
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Black_Butterfly
Πολύ δραστήριο μέλος
Ποια η διαφορα 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
Επιφανές μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Mercury
Επιφανές μέλος
Εκτος και εαν κανω λαθος..οποτε αγνοηστε με!!!!
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Νομιζω ομως οτι θελει μονο τους αριθμους που ειναι ηδη ακεραιοι....και οχι το ακεραιο μερος....
Εκτος και εαν κανω λαθος..οποτε αγνοηστε με!!!!
ναι για αυτό λέω πως το x == floor(x) είναι ένας απλός τρόπος να ξεχωρίσει τους ακέραιους. Αν ένας αριθμός είναι ίσος με το ακέραιο μέρος του σημαίνει ότι είναι ακέραιος.
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Mercury
Επιφανές μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Αχα....Συγνωμη....Μαλλον διαβασα γρηγορα το μηνυμα σου και δεν το καταλαβα σωστα...εχεις δικιο. Εκτος ομως εαν η ασκηση/η ο καθηγητης δεν θελουν την ετοιμη συναρτηση...
Δεν έχει νόημα να σου ζητήσει κανείς κάτι τέτοιο καθώς η συγκεκριμένη συνάρτηση φτιάχνεται εύκολα επί τόπου. Υπάρχουν ωστόσο και τρόποι να το βρεις χωρίς χρήση συνάρτησης αλλά δεν έχει νόημα να το πας έτσι.
επίσης (τώρα το δα ) μπορείς να χρησιμοποιήσεις και αλλαγή τύπου που ανέφερε η black butterfly σε στυλ x == (int) x το οποίο βέβαια λειτουργεί μόνο κατά περίπτωση αλλά σου κάνει τη δουλειά.
(έχω κάνει 500 edit lol )
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
babisgr
Πολύ δραστήριο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Mercury
Επιφανές μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
manos4
Πολύ δραστήριο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος
C file input/output.Που θα βρω τα περιεχόμενα των βιβλιοθηκών; (stdio πχ τί περιέχει) Έχω βρει κάποια πράγματα αλλά δεν είναι και πολύ κατατοπιστικά.. και επίσης αν βρείτε τίποτα που να εξηγεί τί κάνει κάθε συνάρτηση των βιβλιοθηκών..
Σε αυτά, google is your friend.
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Ευχαριστω για την βοηθεια. Οσον αφορα το τελευταιο που ρωτησα. Θα κανω ενα παραδειγμα και ελπιζω να δειξω που ηταν το προβλημα μου. Ζηταω απο το χρηστη εναν αριθμο και θελω μονο τους περιτους, κανω μια εντολη επαναληψης while και αν αυτος πληκτρολογει αρτιο αριθμο θα του βγαζει ενα μυνημα "ξαναπληκτρολογησε ..." .Το ιδιο θελω να κανει και εδω.Να πληκτρολογει εναν αριθμο και αν δεν ειναι ακεραιος να πληκτρολογει καταλληλο μυνημα.Δηλαδη εψαχνα την συνθηκη και τα παιδια παρακατω μου ειπαν δυο καλες λυσεις.Και η float και η double αναπαριστούν αριθμούς κινητής υποδιαστολής. Η διαφορά τους ειναι στον αριθμό των δεκαδικών ψηφίων που δέχονται. Η double μπορεί να δεχτεί πολύ περισσότερα και για αυτό τη προτιμούμε. Περι μνήμης: η float πιάνει 32 bits στη μνήμη ενώ η double 64.
Αν δηλώσεις μια μεταβλητή ακεραια και ο χρήστης σου δώσει δεκαδικό, η printf θα σου τυπώσει μόνο το ακέραιο μέρος. Μπορείς να πειραματιστείς και σε εναν compiler για να δεις τι τιμές θα πάρεις πίσω.
Το 5.0/2.0 θα σου επιστρέψει 2.500000 αν το δηλώσεις float ή double και στην printf το ζητήσεις ως %f. Αν το δηλώσεις int και στην printf το ζητήσεις ως %d θα πάρεις το ακέραιο μέρος.
Το τελευταίο δε το καταλαβαίνω. Εσύ θα δηλώσεις αν μια μεταβλητή είναι ακέραια ή πραγματική. Πιχι μπορείς να δηλώσεις μια μεταβλητή ως πραγματική αλλα μετά να την διαχειρίζεσαι ως ακέραια ή το οτιδήποτε. Επίσης υπάρχει και το (type)μεταβλητή που μπορείς να της αλλάξεις εσύ τύπο.
Ευχαριστω πολυ.Θα μπορουσες: Να εκχωρεις την μεταβλητη που θα ειναι τυπου float σε μεταβλητη τυπου integer και στην συνεχεια να κανεις την διαιρεση(η αφαιρεση) μεταξυ του πρωτου και του δευτερου. Εαν ειναι διαφορο του μηδενος ειναι πραγματικος...αλλιως ειναι ακεραιος..
Δεν γνωριζα για την συναρτηση που λες. Ευχαριστω για την βοηθεια !όσον αφορά το τελευταίο που ρωτάς (τα άλλα εξαντλήθηκαν) υπάρχει έτοιμη συνάρτηση floor() στη math.h που σου επιστρέφει το ακέραιο μέρος ενός αριθμου. Μπορείς εύκολα δηλαδή να κάνεις έλεγχο με μια συνθήκη τύπου x == floor(x)
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος
Τότε θα πρέπει να διαβάζεις έναν 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 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Τότε θα πρέπει να διαβάζεις έναν 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.
Κι από εκεί κοιτάς αν κόβοντας τα δεκαδικά παίρνεις τον ίδιο αριθμό.
Σωστος.
float N;
int i;
main() {
scanf("%f",&N);
for(i=1;i<=N;i++) {
//εντολες
}
}
αλλο παραδειγμα ειναι αυτο : Ν= i+1.7 για αυτο το ερώτημα.
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Τα παρακάτω 0 μέλη και 2 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:Tα παρακάτω 9 μέλη διάβασαν αυτό το θέμα:
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.