Ασκήσεις στην C

Chara3

Νεοφερμένος

Η Chara3 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 36 ετών. Έχει γράψει 12 μηνύματα.
οχι. μονο το πρωτο ερωτημα ειναι σωστο. τα υπολοιπα τρεχουν κανονικα αλλα ειναι λαθος. απο το δευτερο ερωτημα και μετα κολλαω. α! και κατι ακομα. το pdf που θελω να ανεβασω ειναι 127 k.b αλλα δεν το ανεβαζει. γιατι;
 

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

Zed

Διάσημο μέλος

Ο Zed αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται IT και μας γράφει απο Ηλιούπολη (Αττική). Έχει γράψει 2,488 μηνύματα.
Την συνάρτηση add δεν την έχεις υλοποιήσει.
Γιατί γράφεις
χωρίς το slash \ ?

Επίσης σε άλλο σημείο λες
else printf("%dn%dn%dn",pinakas[j]);


Ένα στοιχείο θα τυπώσεις, άρα γιατί 3 φορές το %?
 

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

Chara3

Νεοφερμένος

Η Chara3 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 36 ετών. Έχει γράψει 12 μηνύματα.
γι αυτο δεν τα βαζω σε code tags γιατι δεν εμφανιζει πουθενα τα \ .εγω τα βαζω! οσο για το δευτερο εχεισ δικιο απλα εχω κανει αρκετεσ προσπαθειεσ και ξεχασα να σβησω τα υπολοιπα. αλλα οπωσ και να εχει ε τρεχει σωστα ετσι. το pdf πως να σου το στειλω;
-----------------------------------------
βαλτο να τρεξει να δεισ πωσ τρεχει! αυτο με την προσθεση των πινακων γινεται με αλλο πιο ευκολο τροπο αντι να ορισω τους πινακες α και β; και πως θα αντικαταστησω τον πινακα c με την τριτη στηλη του πινακα ωστε να φτιαχτει ο τελικοσ πινακας; και το ιδιο εννοειται και για το τριτο ερωτημα. και οταν λεει να αθροισεισ τα στοιχεια τησ πρωτης και δευτερης στηλης στα αντιστοιχα στοιχεια της τριτης, σιγουρα εννοει να προσθεσω τα στοιχεια των δυο πρωτων στηλων και να τα αντικαταστησω με την τριτη, ή να προσθεσω τα στοιχεια και των τριων και να αντικαταστησω με το αποτελεσμα την τριτη στηλη;
-----------------------------------------
να γινει συναρτηση που δεχεται σαν ορισμα 1 συμβολοσειρα και την αντιστρεφει. και την εκτυπωνει αντεστραμμενη.

οποιος ξερει ας βοηθησει
 

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

Zed

Διάσημο μέλος

Ο Zed αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται IT και μας γράφει απο Ηλιούπολη (Αττική). Έχει γράψει 2,488 μηνύματα.
Στην δεύτερη, αφού διαβάσεις το string, χρησιμοποιείς την strlen για να μετρήσεις το μήκος του και δημιουργείς έναν πίνακα με μήκος strlen. Και μετά απλά βάζεις pinΑ[0]==pinΒ[strlen-1], pinΑ[1]==pinΒ[strlen-2] κλπ.
 

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

Chara3

Νεοφερμένος

Η Chara3 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 36 ετών. Έχει γράψει 12 μηνύματα.
#include<stdio.h>
#include<string.h>
void reverseString (char a[], int n)
{
int i,temp;
for(i=0;i>n/2;i++)
{
temp=a;
a=a[n-i-1];
a[n-i-1]=temp;
}
}
int main(void)
{
int i=0;
int n;
char a[n];
printf("Dwse thn symboloseira:\n");
scanf("%s",a);
printf("H symboloseira antestrammenh einai:\n");
reverseString(a,n);
puts(a);
system("pause");
}



εγω εανα αυτο. τι δεν παει καλα; η συναρτηση ειναι ενταξει; γιατι λεει να κανεισ συναρτηση που να αντιστρεφει!
-----------------------------------------
απλα μετα δεν την τυπωνει αντεστραμμενη και δεν ξερω πως να το κανω
 

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

Zed

Διάσημο μέλος

Ο Zed αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται IT και μας γράφει απο Ηλιούπολη (Αττική). Έχει γράψει 2,488 μηνύματα.
Στο n δεν έχεις δώσει τιμή.
 

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

Chara3

Νεοφερμένος

Η Chara3 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 36 ετών. Έχει γράψει 12 μηνύματα.
#include<stdio.h>
#include<string.h>
void reverseString (char a[], int n)
{
int i,temp;
for(i=0;i>n/2;i++)
{
temp=a;
a=a[n-i-1];
a[n-i-1]=temp;
}
}
int main(void)
{
int i,n;
char k[n];
printf("Dwse thn symboloseira:\n");
scanf("%s",k);
n=strlen(k);
reverseString(k,n);
for(i=0;i<n;i++)
{
printf("%s\t",k[n-i-1]);
}
system("pause");
}



παλι δεν τρεχει ετσι.
 

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

Zed

Διάσημο μέλος

Ο Zed αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται IT και μας γράφει απο Ηλιούπολη (Αττική). Έχει γράψει 2,488 μηνύματα.
int i; //deixnei stin prwti thesi
int l; //deixnei stin teleftaia thesi, strlen(string) -1
char temp;
for(i=0, l = strlen(string)-1; i<= l; i++ ,l--)
{
temp=str;
str=str[l];
str[l]=temp;
}


Για δοκίμασε κάτι τέτοιο για να κάνεις την αντιστροφή.
 

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

Rania.

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

Η Rania. αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 31 ετών και επαγγέλεται Άνεργος/η. Έχει γράψει 1,778 μηνύματα.
Γεια σας. Μετα απο λιγο διαβασμα C, αποφασισα να γραψω το πρωτο μου προγραμμα. :D

Code:
#include <stdio.h>
main()
{
     int a, b;
     float mo;
     printf("δωσε δυο αριθμους.n");
     scanf(" %d %d ", &a &b);
     mo=(a+b)/2.0;
     If (mo>=10)
          printf("μεσος ορος μεγαλυτερος απο το δεκα: %d.n",mo);
     else
          printf("μεσος ορος μικροτερος απο το δεκα: %d.n", mo);
}
exit(0);
Βεβαια μεχρι το κεφαλαιο που εχω διαβασει δεν μου ξεκαθαριζει με ποια εντολη τερματιζω τελικα ενα προγραμμα. Σε κατι παραδειγματα εβαζε exit(0) παντως, οποτε. :p
Φυσικα προκειται για ενα υψιστης σημασια προγραμμα που θα διευκολυνει την ανθρωπινη ζωη.
Και εχει και νιουλαην!
(για καποιο λογο δεν μου βγαζει την καθετο στο \n μεσα στα κοουντ ταγκζ, εβαλα τελεια αντ'αυτου.)
 

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

Zed

Διάσημο μέλος

Ο Zed αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται IT και μας γράφει απο Ηλιούπολη (Αττική). Έχει γράψει 2,488 μηνύματα.
(για καποιο λογο δεν μου βγαζει την καθετο στο n μεσα στα κοουντ ταγκζ, εβαλα τελεια αντ'αυτου.)

Ναι, δεν το κάνει...

Μπορείς να βάλεις και
system("pause");
για να παγώνει, ή έστω τον μπακάλικο τρόπο, να περιμένει να διαβάσει από το πληκτρολόγιο :P
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.
Γεια σας. Μετα απο λιγο διαβασμα C, αποφασισα να γραψω το πρωτο μου προγραμμα. :D

Code:
#include <stdio.h>
main()
{
     int a, b;
     float mo;
     printf("δωσε δυο αριθμους.n");
     scanf(" %d %d ", &a &b);
     mo=(a+b)/2.0;
     If (mo>=10)
          printf("μεσος ορος μεγαλυτερος απο το δεκα: %d.n",mo);
     else
          printf("μεσος ορος μικροτερος απο το δεκα: %d.n", mo);
}
exit(0);
Βεβαια μεχρι το κεφαλαιο που εχω διαβασει δεν μου ξεκαθαριζει με ποια εντολη τερματιζω τελικα ενα προγραμμα. Σε κατι παραδειγματα εβαζε exit(0) παντως, οποτε. :p
Φυσικα προκειται για ενα υψιστης σημασια προγραμμα που θα διευκολυνει την ανθρωπινη ζωη.
Και εχει και νιουλαην!
(για καποιο λογο δεν μου βγαζει την καθετο στο n μεσα στα κοουντ ταγκζ, εβαλα τελεια αντ'αυτου.)

1. H return (ή exit) πρέπει να ναι ΜΕΣΑ στην main. Δεν έχει νόημα να ναι απέξω (θα σου πετάξει error και όλας γιατί πας να δηλώσεις συνάρτηση με τύπο ορίσματος ένα αριθμό, δεν στέκει)

2. Η return έχει νόημα μονάχα όταν η συνάρτηση έχει μια τιμή να επιστρέψει. Έτσι όπως έχεις δηλώσει την main θεωρείται void (χωρίς τύπο) και άρα δεν επιστρέφει τιμή.

Επίσης το if είναι με μικρό i. Α, και ξέχασες ένα κόμμα ανάμεσα στα &a και &b στην scanf

Για το \n και τα codetags, γράφε το ως \\n για να το παίρνει.
 

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

Rania.

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

Η Rania. αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 31 ετών και επαγγέλεται Άνεργος/η. Έχει γράψει 1,778 μηνύματα.
.
Απαξιω για ολα εκτος απο το (2). Νιωθω σαν να μου μιλας κινεζικα.
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.
.
Απαξιω για ολα εκτος απο το (2). Νιωθω σαν να μου μιλας κινεζικα.

Γιατί απαξιείς; Σου λέω οτι αυτό το πράγμα που έγραψες δεν κάνει καν compile και σου εξηγώ γιατί...

Όταν δηλώνεις μια συνάρτηση ως

int function (){...}

ο compiler περιμένει οτι θα επιστρέψει μια ακέραια τιμή με χρήση της return (ή της exit) και άρα κάπου μέσα χρειάζεται να έχεις ένα return κάτι ή exit(κάτι)

όταν τώρα εσύ γράφεις:

main () {...}
αυτό μεταφράζεται ως

void main() {...}
όπου void σημαίνει οτι η συνάρτηση σου δεν επιστρέφει κάτι, άρα δεν χρειάζεται (θα σου πετάξει warning, ή error) συνάρτηση επιστροφής.
 

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

Liakouras

Δραστήριο μέλος

Ο Liakouras αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 410 μηνύματα.
Καλησπέρα, καλησπέρα...

Λοιπόν έχω κατεβάσει το devc++ και έγραψα ένα υπεραπλοϊκό προγραμματάκι για να δώ πως δουλεύει το πρόγραμμα. Όμως ενώ το κάνει compile η εκτέλεση του διακόπτετε. Ξέρει κανείς γιατί;

Ορίστε το "τύπου" πρόγραμμα:D

#include <stdio.h>

int main(void)
{
int num;
num=100;
printf("to Num einai %d, num");

return 0;
}

Ορίστε και ένα screenshot:

 

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

Bill

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

Ο Bill αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 10,408 μηνύματα.
Μήπως τρέχει και τερματίζει και γι αυτό νομίζεις ότι διακόπτεται;
Βάλε scanf("%d",num) μετά την print ώστε να σταματήσει η ροή για να διαβάσει το χαρακτήρα που θα δώσεις και να μην τερματίσει το παράθυρο που τρέχει.
 

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

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

Liakouras

Δραστήριο μέλος

Ο Liakouras αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 410 μηνύματα.
Τώρα οκ :D
Όμως γιατί συμβαίνει αυτό; Τρέχει απλά εξαιρετικά γρήγορα; Και γιατί γράφει κάτω στο πρόγραμμα "Η εκτέλεση διακόπηκε;"

Επίσης αντί να μου βγάζει με αυτή την εντολή printf("to Num einai %d, num") αυτό: to Num einai 100, μου βγάζει to Num einai 4077456. Γιατί;
 

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

Liakouras

Δραστήριο μέλος

Ο Liakouras αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 410 μηνύματα.
#include <stdio.h>

int main(void)
{
int num;
num=100;
printf("to Num einai %d", num);
return 0;
}

Έτσι παίζει σωστά, τελικά
 

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

Liakouras

Δραστήριο μέλος

Ο Liakouras αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 410 μηνύματα.
Πως γίνεται να εισάγω ένα τελεστή στο πρόγραμμα (ας πούμε +) κι αυτό να το αναγνωρίσει κι να κάνει πρόσθεση με δύο αριθμούς που θα ζητήσει μετά;
 

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

Bill

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

Ο Bill αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 10,408 μηνύματα.
Θα κοιτάξεις πως δουλεύει η scanf.
Εκεί θα διαβάζεις το χαρακτήρα της πράξης που θες. Η είσοδος σου θα είναι "+" ή "-" κλπ

Οπότε εσύ έπειτα πρέπει να διακρίνεις την πράξη που βρίσκεσαι. Οπότε θα κοιτάξεις τα if-else if statements για να ελέγξεις μέσα από τον κώδικα που θα γράψεις ποια πράξη θα υλοποιήσεις.

Αν δηλαδή έχεις διαβάσει τον τελεστή της πρόσθεσης "+" ως είσοδο από το χρήστη, τότε στον κώδικα σου θα έχεις την πράξη x+y.
 

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

Liakouras

Δραστήριο μέλος

Ο Liakouras αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 410 μηνύματα.
Παιδιά ξέρει κάποιος πως υπολογίζουμε το παραγωντικό στην c;
 

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

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

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