Σελίδα 322 από 323

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

ΔημοσίευσηΔημοσιεύτηκε: 27 Νοέμ 2014, 19:06
από panosarkan
Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!

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

ΔημοσίευσηΔημοσιεύτηκε: 27 Νοέμ 2014, 22:22
από konnn
panosarkan έγραψε:Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!


Θα πρέπει να μας πεις που προβληματίζεσαι κατά την υλοποίηση .

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

ΔημοσίευσηΔημοσιεύτηκε: 28 Νοέμ 2014, 01:58
από panosarkan
konnn έγραψε:
panosarkan έγραψε:Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!


Θα πρέπει να μας πεις που προβληματίζεσαι κατά την υλοποίηση .
konnn έγραψε:
panosarkan έγραψε:Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!


Θα πρέπει να μας πεις που προβληματίζεσαι κατά την υλοποίηση .
Στη πρώτη είναι αναγκαίο να δώσω κάποιο n με τη scanf η δε χρειάζεται να δηλώσω καθόλου το n.Για το δεύτερο πρόβλημα δεν γνωρίζω πως μπορώ να μετατρέψω έναν ακέραιο σε δυαδικό(ίσως υπάρχει κάποια εντολή?) και επίσης ο δυαδικός θα πρέπει να είναι γραμμένος σε συμπλήρωμα ως προς 2?.... Ευχαριστώ πολύ

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

ΔημοσίευσηΔημοσιεύτηκε: 28 Νοέμ 2014, 18:01
από konnn
panosarkan έγραψε:
konnn έγραψε:
panosarkan έγραψε:Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!


Θα πρέπει να μας πεις που προβληματίζεσαι κατά την υλοποίηση .
konnn έγραψε:
panosarkan έγραψε:Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!


Θα πρέπει να μας πεις που προβληματίζεσαι κατά την υλοποίηση .
Στη πρώτη είναι αναγκαίο να δώσω κάποιο n με τη scanf η δε χρειάζεται να δηλώσω καθόλου το n.Για το δεύτερο πρόβλημα δεν γνωρίζω πως μπορώ να μετατρέψω έναν ακέραιο σε δυαδικό(ίσως υπάρχει κάποια εντολή?) και επίσης ο δυαδικός θα πρέπει να είναι γραμμένος σε συμπλήρωμα ως προς 2?.... Ευχαριστώ πολύ


Για το πρώτο πρέπει να διευκρινήσεις από που θα διαβάζεις την ακολουθία, από τερματικό ή αρχείο;Για scanf δε νομίζω.

Για το δευτερο θα μετατρέψεις το στοιχείο σε bit με συνεχόμενη διαίρεση με το 2.Tο υπόλοιπο είναι το κάθε μπιτ. Google is your friend.

Είναι σχετικά βασικά όλα τα παραπάνω.

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

ΔημοσίευσηΔημοσιεύτηκε: 28 Νοέμ 2014, 22:22
από Star_Light
panosarkan έγραψε:Καλησπέρα παιδιά χρειάζομαι τη βοήθειά σας σε 2 προβληματάκια στη c.
1) Να γραφεί πρόγραμμα που θα διαβάζει μια ακολουθία n αριθμών και θα εμφανίζει τον αριθμό που εμφανίστηκε στην ακολουθία τις περισσότερες συνεχόμενες φορές.
2) Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν ακέραιο και να εμφανίζει τον αριθμό των bits με τιμή 1.Για παράδειγμα αν ο χρήστης πληκτρολογήσει τον αριθμό 30(00000000000000000000000000011110 στο δυαδικο) να εμφανιζει 4.
Η υλοποίηση θα πρέπει να γίνει χωρίς τη χρήση πίνακα.
Ευχαριστώ πολύ εκ των προτέρων!


Για το 2) ουτως ή αλλως δεν χρειάζεται πίνακας. Μπορεις να το κάνεις πολυ εύκολα με μια μεταβλητή τύπου int. Η μεταβλητή δηλαδη θα κρατάει τον αριθμο των bits του αριθμου που έδωσες τα οποία ειναι '1'. Χρησιμοποίησε μια συνάρτηση η οποια θα επιστρέφει αυτη την μεταβλητή στην main και θα εκτυπώνεις απο εκει την τιμή της.

Έχεις διαβάσει καθολου για bitwise operators? και ολισθήσεις? με ολίσθηση γινεται αυτο στον αριθμο που θές και με πράξεις &.

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

ΔημοσίευσηΔημοσιεύτηκε: 29 Νοέμ 2014, 12:45
από Star_Light
Spoiler: show
Κώδικας: Επιλογή όλων

#include<stdio.h>
int count_ones(unsigned char ch)
{
       unsigned int c;
       for( c = 0; ch; ch >>=1)
           c+= ch & 1; // 1 -> 0000001
      return c;
}
int main(void)
{
      unsigned char ch;
      printf("Enter a character: ");
      scanf(" %c", &ch);
      printf("Number of set bits (1) in %c is : " , ch , count_ones(ch));

      return 0;
}


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

ΔημοσίευσηΔημοσιεύτηκε: 29 Νοέμ 2014, 17:51
από konnn

Σκοπός είναι να να συνεισφέρουμε σε λύσεις προβλημάτων αποφεύγοντας να τις δίνουμε αυτούσιες.


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

ΔημοσίευσηΔημοσιεύτηκε: 20 Μαρ 2015, 18:25
από George Roupos
Μπορείς ρε φίλε αυτό το πρόγραμμα (που σε δείχνει πόσο χρονών είσαι) να το κάνεις με συναρτήσεις , για να "διευκολύνεις" το πρόγραμμά σου να "τρέχει" πιο γρήγορα .

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

ΔημοσίευσηΔημοσιεύτηκε: 20 Μαρ 2015, 18:50
από George Roupos
Επειδιή το έτρεξα ρε φίλε το πρόγραμμά σου , με τους ελληνικούς χαρακτήρες δεν μου το εμφανίζει (μπορεί να το έκανα σε code::blocks) , σε λείπει μια εντολή για να σου εμφανίζει (οι ελληνικοί χαρακτήρες) η οποία είναι setlocale(LC_ALL,"ell");
Έχω C++ στα Windows ...

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

ΔημοσίευσηΔημοσιεύτηκε: 03 Ιούλ 2015, 20:35
από kostanikolakopoulos
για windows για να βγουν ελληνικα χρειαζεται και η εντολη system ("chcp 1253");