Tomissg Δημοσ. 9 Μαΐου 2017 Δημοσ. 9 Μαΐου 2017 Παιδιά είμαι νέος στην γλώσσα c και ειλικρηνα θα ήθελα κάποια βοήθεια. Μαθένω τώρα πως μπώρω να κάνω προγράματα και θέλει να εμφανίζω τα αποτελεσμα σε μορφή πίνακα. Θέλω να τα εμφανιζω στην σωστή θέση με τα ακριβος το ένα κάτω απο το άλλο αλλα δεν ξέρω αν αυτο που έκανα είναι σωστό. #include <stdio.h> #include <math.h> int main() { int i; float a,t,s,v; a=10.578; printf("t(min) s(km) v(km/h)\n"); for(i=1;i<=10;i++) { t=i*60; s=(1/.2)*a*pow(t,2); v=a*t; s=s/1000; v=v*36; printf("t=%d min s=%.3f km v=%.2f km/h\n",i,s,v); } return 0; } έδω είναι ο κώδικας που έκανα σε μια άσκηση αν κάποιος έχει να πρωτίνει κατι καλύτερο παρακάλω να μου πεί....
GReaperEx Δημοσ. 9 Μαΐου 2017 Δημοσ. 9 Μαΐου 2017 Εφόσον προσπαθείς να εμφανίσεις πίνακα, δε χρειάζεται να εκτυπώνεις τις ίδιες πληροφορίες ξανά και ξανά. Καλό θα ήταν θα τα ευθυγραμμίσεις όλα όμορφα και να βγει, για παράδειγμα, κάπως έτσι( άλλαξε τη printf με αυτή που δίνω για να δεις τη διαφορά ): printf("%3d %12.3f %12.2f \n",i,s,v); 1
Tomissg Δημοσ. 9 Μαΐου 2017 Μέλος Δημοσ. 9 Μαΐου 2017 Εφόσον προσπαθείς να εμφανίσεις πίνακα, δε χρειάζεται να εκτυπώνεις τις ίδιες πληροφορίες ξανά και ξανά. Καλό θα ήταν θα τα ευθυγραμμίσεις όλα όμορφα και να βγει, για παράδειγμα, κάπως έτσι( άλλαξε τη printf με αυτή που δίνω για να δεις τη διαφορά ): printf("%3d %12.3f %12.2f \n",i,s,v); Eυχαριστώ πολύ φίλε όντως έχει μεγάλη διαφορά. Παιδιά μου βγάζουν αρκετά προγράμματα το εξής error "expected declaration or statement at end of input" μπωρεί κανείς να μου εξηγήσε για ποιό λόγο συμβένει αυτό ?
Haldol Δημοσ. 9 Μαΐου 2017 Δημοσ. 9 Μαΐου 2017 Η συνηθέστερη αιτία γι αυτό το σφάλμα είναι να έχεις ξεχάσει κάποιο } ή ;. Αλλά εάν δεν δείξεις τον κώδικα που παράγει το σφάλμα δε μπορεί να "μαντέψει" κανείς τι φταίει...
Tomissg Δημοσ. 10 Μαΐου 2017 Μέλος Δημοσ. 10 Μαΐου 2017 Παιδιά εχω ενα θεματάκη θέλω να κάνω ενα προγραμα που θα κανει 10 βήματα στην επανάλυψη αλλα μου κάνει μόνο τα 5 και το printf μου το εμφανίζει 2 σηνεχόμενες φορές μπωρείτε να το ριξεται μια ματιά ? #include <stdio.h> #include <stdlib.h> int main(void) { int a,b,m,i; char c; a=1; b=1000; m=b/2; for(i=1;i<=10;i++) { printf("Einai to noumero pou skeftike mikrotero tou %d (y,n)\n",m); scanf("%c",&c); if(c=='y') { b=m; m=(a+b)/2-1; } else if(c=='n') { a=m; m=(a+b)/2-1; } if(a== { printf("to noumero pou skeftikes einai to %d",a); } } return 0; }
Moderators Kercyn Δημοσ. 10 Μαΐου 2017 Moderators Δημοσ. 10 Μαΐου 2017 Δοκίμασε να κάνεις debug για να δεις τι συμβαίνει. Ο debugger ή το IDE σου θα πρέπει να έχει μια λειτουργία step over, χρησιμοποίησε αυτή για να δεις πώς τρέχει βήμα-βήμα.
BabyRage Δημοσ. 10 Μαΐου 2017 Δημοσ. 10 Μαΐου 2017 Παιδιά εχω ενα θεματάκη θέλω να κάνω ενα προγραμα που θα κανει 10 βήματα στην επανάλυψη αλλα μου κάνει μόνο τα 5 και το printf μου το εμφανίζει 2 σηνεχόμενες φορές μπωρείτε να το ριξεται μια ματιά ? #include <stdio.h> #include <stdlib.h> int main(void) { int a,b,m,i; char c; a=1; b=1000; m=b/2; for(i=1;i<=10;i++) { printf("Einai to noumero pou skeftike mikrotero tou %d (y,n)\n",m); scanf("%c",&c); if(c=='y') { b=m; m=(a+b)/2-1; } else if(c=='n') { a=m; m=(a+b)/2-1; } if(a== { printf("to noumero pou skeftikes einai to %d",a); } } return 0; } Όταν γράφεις στο πληκτρολόγιο y ή n και πατάς enter στην ουσία γράφεις δύο πράγματα: Τον χαρακτήρα y ή n, και τον χαρακτήρα αλλαγής γραμμής. Αυτό ο χαρακτήρας θα καταναλωθεί στην επόμενη επανάληψη. Αν παρατηρησες σου βγάζει δύο φορές τα printf σου. Θέλεις συνεπώς κάτι τέτοιο: http://stackoverflow.com/questions/14419954/reading-a-single-character-in-c
Tomissg Δημοσ. 11 Μαΐου 2017 Μέλος Δημοσ. 11 Μαΐου 2017 Μπωρεί κανεις να με βοηθησει με εμαν κωδικά ψαχνω αλλα δεν μπωρω να βρω γιατι δεν μου εμφανιζει αποτέλεσμα ο κώδικα είναι ο εής : #include <stdio.h> #include <math.h> int F(int x) { int y; y=pow(x,2); return y; } int main(void) { int A,B,i; float h,n,a; i=1; A=1; B=3; n=1; do{ h=(B-A)/i; a=A+i*h; A=A+h*F(a)/2; i++; }while(h>0,00001); printf("%f",h); return 0; }
BabyRage Δημοσ. 11 Μαΐου 2017 Δημοσ. 11 Μαΐου 2017 Οι floating αριθμοί γράφονται με τελεία (0.00001) και όχι με κόμμα (0,00001). Ο τελεστής κόμμα είναι αλλουνού παπά ευαγγέλιο https://en.wikipedia.org/wiki/Comma_operator .
Tomissg Δημοσ. 12 Μαΐου 2017 Μέλος Δημοσ. 12 Μαΐου 2017 Μπωρεί κανείς να με βοηθήσει με το πως να χειρίζομαι strings στην c ξέρω ότι υπάρχει η βηβλίοθηκη sting.h αλλα δεν ξέρω να την χρήσημοποιω και γράφω πληροφορίκη την Τρίτη. Δεν μας μάθανε να χρησημοποιούμε την εν λόγο βηβλιοθήκη αλλά μου φαίνετε ζόρικο να κάνω προγράμματα χωρίς αυτήν όποιος μπωρεί να βοηθήσει θα το εκτιμούσα πολύ.....
GReaperEx Δημοσ. 12 Μαΐου 2017 Δημοσ. 12 Μαΐου 2017 Οι σημαντικές συναρτήσεις της "string.h" που πρέπει να γνωρίζεις είναι οι εξής: strcmp( και strncmp ) strcpy( και strncpy ) strcat ( και strncat ) strlen strstr strtok Οι παρακάτω δεν ασχολούνται με strings, αλλά είναι καλό να τις ξέρεις: memcmp memcpy memmove memset
Tomissg Δημοσ. 13 Μαΐου 2017 Μέλος Δημοσ. 13 Μαΐου 2017 Παιδιά τρέχω τον παρακάτω κώδικα και δεν μου βγαζει το επιθυμητο αποτέσμα #include <stdio.h> int main(voif) { int k,i,j,a[4][5]; k=11; for(i=1;i<=4;i++) { for(j=1;j<=5;j++) { a[j]=k; printf("%d ",a[j]); k++; } k--; printf("%d\n",a[j]); k=k+6; } return 0; } Μου τυπώνει αυτό : 11 12 13 14 15 0 21 22 23 24 25 0 31 32 33 34 35 6 0 0 Ενώ θέλω αυτό : 11 12 13 14 1521 22 23 24 2531 32 33 34 3541 42 43 44 45
cpttony Δημοσ. 13 Μαΐου 2017 Δημοσ. 13 Μαΐου 2017 To λάθος σου είναι η παρακάτω γραμμή, εκτυπώνεις στοιχείο του πίνακα που δεν έχει κάποια τιμή, και το συγκεκριμένο print (του στοιχείου) δεν χρειάζεται καν. printf("%d\n",a[i][j]); Με μια γρήγορη διόρθωση: #include <stdio.h> int main() { int i, j, k; int array[4][5]; k = 11; for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) { printf("%d ", array[i][j] = k); k++; } printf("\n"); k--; k += 6; } return 0; }
GReaperEx Δημοσ. 13 Μαΐου 2017 Δημοσ. 13 Μαΐου 2017 @Tomissg, να θυμάσαι ότι στην C( και σχεδόν σε όλες τις γλώσσες ) για τις θέσεις μέσα σ' ένα πίνακα ξεκινάς να μετράς από το μηδέν μέχρι το μέγεθος του πίνακα μείον ένα. Όχι όπως το κάνεις δλδ.
Tomissg Δημοσ. 13 Μαΐου 2017 Μέλος Δημοσ. 13 Μαΐου 2017 Να ρωτίσω ξάνα γραφω ένα κώδικα με dev c++ και μου βγάζει τα εξίς σφάλματα και δεν μπωρω να καταλάβω που είναι main.c:(.text+0x22e): undefined reference to `pirntf' [Error] ld returned 1 exit status #include <stdio.h> int main() { int i, j, k; int a[4][5]; int b[4][5]; k = 11; for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) { printf("%d ", a[j] = k); k++; } printf("\n"); k--; k += 6; } for(i=0;i<4;) { for(j=0;j<5;j++) { k=i%2; if(k==0) { k=j%2; if(k==0) { printf("%d ",b[j]=0); } else { printf("%d ",b[j]=a[j]); } } else { printf("%d ",b[j]=a[j]); } } pirntf("\n"); } return 0; } Να ρωτίσω ξάνα γραφω ένα κώδικα με dev c++ και μου βγάζει τα εξίς σφάλματα και δεν μπωρω να καταλάβω που είναι main.c:(.text+0x22e): undefined reference to `pirntf' [Error] ld returned 1 exit status #include <stdio.h> int main() { int i, j, k; int a[4][5]; int b[4][5]; k = 11; for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) { printf("%d ", a[j] = k); k++; } printf("\n"); k--; k += 6; } for(i=0;i<4;) { for(j=0;j<5;j++) { k=i%2; if(k==0) { k=j%2; if(k==0) { printf("%d ",b[j]=0); } else { printf("%d ",b[j]=a[j]); } } else { printf("%d ",b[j]=a[j]); } } pirntf("\n"); } return 0; } Παρεμπιπτόντως θέλω να σας ευχριστήσω όλους για την βοήθεια σας
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα