Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 15 Ιουν 2011, 14:32

Στο printf() πρέπει να βγάλεις το & μπροστά από το χ ;)

Παραθέτω κι εγώ τον κώδικα με modulo (χωρίς έλεγχο για το εύρος του αρχικού αριθμού, θα τον παραθέσω ξεχωριστά με έλεγχο).

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
int max, i;

printf("Enter a number (1 to 1000): ");
scanf("%d", &max);

for (i=1; i < max+1; i++)
if (i % 2 == 0)
printf("%5d", i);

exit(0);
}
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 15 Ιουν 2011, 14:39

εγώ την έκανα έτσι, χρησιμοποιήσει την for loop για να μετράει τους ζυγούς μέχρι τον αριθμό που έδωσε αλλά δεν ξέρω πως να γράψω την printf
Κώδικας: Επιλογή όλων
#include <stdio.h>


main(void) {

int x;

printf("Dwse enan arithmo: ");
scanf("%d", &x);

if (x<1000); {
int y = 2;
for (y=2; , y<&x; , y+2)
{

}

}

}
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 15 Ιουν 2011, 14:40

Κώδικας: Επιλογή όλων
printf("%5d", i);

τι κάνει το 5;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Qdata » 15 Ιουν 2011, 14:41

migf1 έγραψε:Στο print() πρέπει να βγάλεις το & μπροστά από το χ


Όχι, στην python δεν ισχύει αυτό. :)

Ευχαριστώ για τον κώδικά.Θα τον μελετήσω λίγο.
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 15 Ιουν 2011, 14:58

@Qdata: :) για τον C κώδικα έλεγα (έχεις βάλει &x στην printf, ενώ θέλει σκέτο x)

@clepto: το "%5d" στην printf() της λέει να τυπώσει έναν ακέραιο καταλαμβάνοντας 5 θέσεις, στοιχίζοντάς τον προς τα δεξιά. Αν βάλουμε "%-5d" τον στοιχίζει αριστερά.
Σχετικά με τον κώδικα, πρέπει να ξεκινάει με loop (βρόγχο) από το 1 μέχρι το όριο και μέσα στο loop να γίνεται ο έλεγχος για το αν ο τρέχων αριθμός είναι ζυγός ή όχι.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 15 Ιουν 2011, 15:03

έγραψε:Διάβασε από την χρήστη το πλήθος κάποιων αριθμών (π.χ. max) κατόπιν ζήτα του να σου δώσει max τυχαίους αριθμούς σε τυχαία σειρά, και στο τέλος πες του ποιος από τους αριθμούς που σου έδωσε ήταν ο μικρότερος. Αν θες να το επεκτείνεις, πες του και ποιος ήταν ο μεγαλύτερος
τωρα θα κανω αυτη γιατι μου αρεσε
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 15 Ιουν 2011, 15:06

Παραθέτω και τον κώδικα της 2ης άσκησης, αυτή τη φορά με έλεγχο για το εύρος του αριθμού που δίνει ο χρήστης (το βάζω μέσα σε ένα do-while loop που συνεχίζει να του ζητάει αριθμό όσο εκείνος δεν δίνει αριθμό μεταξύ του 1 και του 1000)

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
int max, i;

do {
printf("Enter a number (1 to 1000): ");
scanf("%d", &max);
} while( max < 1 || max > 1000 );

for (i=1; i < max+1; i++)
if (i % 2 == 0)
printf("%5d", i);

exit(0);
}


ΥΓ. Οκ clepto!
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 15 Ιουν 2011, 16:41

Είναι... πονηρούλα αυτή η άσκηση για αρχάριο στον προγραμματισμό. Την έλυσε κανείς μέχρι τώρα να τεστάρουμε τον κώδικά του;

clepto έγραψε:
έγραψε:Διάβασε από την χρήστη το πλήθος κάποιων αριθμών (π.χ. max) κατόπιν ζήτα του να σου δώσει max τυχαίους αριθμούς σε τυχαία σειρά, και στο τέλος πες του ποιος από τους αριθμούς που σου έδωσε ήταν ο μικρότερος. Αν θες να το επεκτείνεις, πες του και ποιος ήταν ο μεγαλύτερος
τωρα θα κανω αυτη γιατι μου αρεσε
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 15 Ιουν 2011, 16:58

τωρα θα την αρχισω...
η διατύπωση με μπερδεύει λίγο...
πρέπει να πω στον χρήστη να δώσει τυχαίους αριθμούς, να τους διαβάσει το πρόγραμμα και να πει ποιος είναι μικρότερος;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 15 Ιουν 2011, 18:50

Ναι, αφού πρώτα σου πει ο χρήστης πόσους αριθμούς θα σου δώσει.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι