Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

...ασύγχρονα μαθήματα από τους guru της κοινότητας

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

Ασκήσεις C++

Δημοσίευσηαπό babis0011 » 02 Απρ 2011, 19:05

Παρακάτω θα παραθέσω κάποιες ασκήσεις σε C++ από βιβλίο του Bjarne Stroustrup οι οποίες με δυσκολεύουν κάθε βοήθεια δεκτή.

Make a vector holding the ten string values "zero", "one",..."nine".
Use that in a programm that converts a digit to its corresponding spell-out value; e.g.,the input 7 gives the output seven.Have the same program using the same input loop,convert spelled-out numbers into their digit form;e.g., the input seven gives the output 7.

Το πρώτο μέρος το έχω λύσει.
Για το δεύερο έχω κάνει μια προσπάθεια αλλά δεν βγαίνει.
Παρακάτω παραθέτω τον κώδικα.

Κώδικας: Επιλογή όλων
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
inline void keep_window_open(){char ch; cin>>ch;}

int main()

{

vector<string>spell_out(10);
spell_out[0]="zero";
spell_out[1]="one";
spell_out[2]="two";
spell_out[3]="three";
spell_out[4]="four";
spell_out[5]="five";
spell_out[6]="six";
spell_out[7]="seven";
spell_out[8]="eight";
spell_out[9]="nine";

vector<int>number(10);
number[0]=0;
number[1]=1;
number[2]=2;
number[3]=3;
number[4]=4;
number[5]=5;
number[6]=6;
number[7]=7;
number[8]=8;
number[9]=9;

string spell;

while(cin>>spell){

for (int i=0;i>spell_out.size();i++)
if(spell_out[i]==spell)
cout<<number[i]<<"\n";}

keep_window_open();
}
Τελευταία επεξεργασία από Qdata και 05 Απρ 2011, 17:02, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αιτία: Προσθήκη [code][/code].
babis0011
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 02 Απρ 2011, 18:52
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό Qdata » 02 Απρ 2011, 19:17

@babis0011 Η δημοσίευσή σου συγχωνεύτηκε με το κατάλληλο θέμα.

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++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό dava » 07 Μάιος 2011, 21:16

γεια σας καλως σας βρηκα...δεν εβρισκα το καταλληλο μερος για νεα μελη και δημοσιευσα εδω μιας και χρειαζομαι τη βοηθεια σας.....
εχω την εξης ασκηση για visual c++

Μια ναυτιλιακή εταιρεία μεταφέρει οικιακές συσκευές τυποποιημένου μεγέθους και χρησιμοποιεί ειδικά
μεταφορικά κιβώτια (containers) τα οποία χωρούν 1, 5, 20 και 50 οικιακές συσκευές. Γράψτε ένα
πρόγραμμα το οποίο θα διαβάζει τον αριθμό των οικιακών συσκευών (long) που πρόκειται να μεταφερθούν
και στη συνέχεια να υπολογίζει και να εμφανίζει τον απαιτούμενο αριθμό μεταφορικών κιβωτίων από κάθε
μέγεθος (long) έτσι ώστε η μεταφορά να πραγματοποιηθεί με τον πλέον οικονομικό τρόπο (τον ελάχιστο
δυνατό αριθμό μεταφορικών κιβωτίων χωρίς αχρησιμοποίητο χώρο).
Η εμφάνιση των αποτελεσμάτων θα έχει τη μορφή:
πλήθος κιβωτίων χωρητικότητας 50 συσκευών
πλήθος κιβωτίων χωρητικότητας 20 συσκευών
πλήθος κιβωτίων χωρητικότητας 5 συσκευών
πλήθος κιβωτίων χωρητικότητας 1 συσκευής
Πίνακες

Εικόνα

ευχαριστω...
dava
babeTUX
babeTUX
 
Δημοσιεύσεις: 3
Εγγραφή: 07 Μάιος 2011, 21:08
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό dava » 08 Μάιος 2011, 00:02

καποιος??
dava
babeTUX
babeTUX
 
Δημοσιεύσεις: 3
Εγγραφή: 07 Μάιος 2011, 21:08
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό simosx » 08 Μάιος 2011, 00:14

dava έγραψε:γεια σας καλως σας βρηκα...δεν εβρισκα το καταλληλο μερος για νεα μελη και δημοσιευσα εδω μιας και χρειαζομαι τη βοηθεια σας.....
εχω την εξης ασκηση για visual c++

Μια ναυτιλιακή εταιρεία μεταφέρει οικιακές συσκευές τυποποιημένου μεγέθους και χρησιμοποιεί ειδικά
μεταφορικά κιβώτια (containers) τα οποία χωρούν 1, 5, 20 και 50 οικιακές συσκευές. Γράψτε ένα
πρόγραμμα το οποίο θα διαβάζει τον αριθμό των οικιακών συσκευών (long) που πρόκειται να μεταφερθούν
και στη συνέχεια να υπολογίζει και να εμφανίζει τον απαιτούμενο αριθμό μεταφορικών κιβωτίων από κάθε
μέγεθος (long) έτσι ώστε η μεταφορά να πραγματοποιηθεί με τον πλέον οικονομικό τρόπο (τον ελάχιστο
δυνατό αριθμό μεταφορικών κιβωτίων χωρίς αχρησιμοποίητο χώρο).
Η εμφάνιση των αποτελεσμάτων θα έχει τη μορφή:
πλήθος κιβωτίων χωρητικότητας 50 συσκευών
πλήθος κιβωτίων χωρητικότητας 20 συσκευών
πλήθος κιβωτίων χωρητικότητας 5 συσκευών
πλήθος κιβωτίων χωρητικότητας 1 συσκευής
Πίνακες

Εικόνα

ευχαριστω...


Αυτή είναι εργασία από σχολείο, και εδώ δεν επιλύουμε εργασίες. Είναι ό,τι χειρότερο εκπαιδευτικά να δίνουμε τις λύσεις σε κάτι που ο μαθητής πρέπει να επιλύσει.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό dava » 08 Μάιος 2011, 01:46

simosx έγραψε:
dava έγραψε:γεια σας καλως σας βρηκα...δεν εβρισκα το καταλληλο μερος για νεα μελη και δημοσιευσα εδω μιας και χρειαζομαι τη βοηθεια σας.....
εχω την εξης ασκηση για visual c++

Μια ναυτιλιακή εταιρεία μεταφέρει οικιακές συσκευές τυποποιημένου μεγέθους και χρησιμοποιεί ειδικά
μεταφορικά κιβώτια (containers) τα οποία χωρούν 1, 5, 20 και 50 οικιακές συσκευές. Γράψτε ένα
πρόγραμμα το οποίο θα διαβάζει τον αριθμό των οικιακών συσκευών (long) που πρόκειται να μεταφερθούν
και στη συνέχεια να υπολογίζει και να εμφανίζει τον απαιτούμενο αριθμό μεταφορικών κιβωτίων από κάθε
μέγεθος (long) έτσι ώστε η μεταφορά να πραγματοποιηθεί με τον πλέον οικονομικό τρόπο (τον ελάχιστο
δυνατό αριθμό μεταφορικών κιβωτίων χωρίς αχρησιμοποίητο χώρο).
Η εμφάνιση των αποτελεσμάτων θα έχει τη μορφή:
πλήθος κιβωτίων χωρητικότητας 50 συσκευών
πλήθος κιβωτίων χωρητικότητας 20 συσκευών
πλήθος κιβωτίων χωρητικότητας 5 συσκευών
πλήθος κιβωτίων χωρητικότητας 1 συσκευής
Πίνακες

Εικόνα

ευχαριστω...


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

ok δε το ξερα,απλως ειδα οτι ελεγε λυνουμε ασκησεις για αυτο...
dava
babeTUX
babeTUX
 
Δημοσιεύσεις: 3
Εγγραφή: 07 Μάιος 2011, 21:08
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό M.Jackson » 25 Ιουν 2011, 19:11

Ποίος είναι ο καλύτερος τρόπο για να φτιάχνει κανείς λίστες στην C++;
Έφτιαξα το πιο κάτω:

Κώδικας: Επιλογή όλων
#include <iostream>
#include <list>

using namespace std;
typedef list<int> nums;
int main()
{

nums::iterator i, j;
nums y;
int num;
cout << "Enter Number: ";
cin >> num;

if(num!=0) y.insert(y.end(), num);

while(num!=0)
{
y.insert(y.end(), num);
cout << "Enter Number: ";
cin >> num;
}

for(i=y.begin(); i!=y.end(); i++)
{
for(j=y.begin()+1; j!=y.end()-1; j++)
{

}
}

}


Αλλά ο Compiler δεν με αφήνει να κάνω προσθέσεις (+1 για μια θέση πιο μπροστά). Θέλω να κάνω Short την λίστα μου.
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό medigeek » 25 Ιουν 2011, 20:10

Είχα κάποιο error με το πρόγραμμα σου κατά το compile.

Εγώ συνδύασα δύο οδηγούς:
- http://www.cplusplus.com/reference/stl/list/push_back/
- http://www.java2s.com/Code/Cpp/list/Use ... nalist.htm
Αποτέλεσμα:
Κώδικας: Επιλογή όλων
#include <iostream>
#include <list>

using namespace std;

int main()
{
list<int> mylist;
list<int>::iterator p;
int myint = 1;

while (myint) {
cout << "Please enter some integers (enter 0 to end): ";
cin >> myint;
if (myint != 0) {
mylist.push_back(myint);
cout << "\n";
}
}

cout << "mylist stores " << (int) mylist.size() << " numbers.\n";

cout << "mylist variables:\n";

p = mylist.begin();
while(p != mylist.end()) {
cout << *p << endl;
p++;
}

return 0;
}
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό M.Jackson » 25 Ιουν 2011, 20:16

medigeek έγραψε:Είχα κάποιο error με το πρόγραμμα σου κατά το compile.

Εγώ συνδύασα δύο οδηγούς:
- http://www.cplusplus.com/reference/stl/list/push_back/
- http://www.java2s.com/Code/Cpp/list/Use ... nalist.htm
Αποτέλεσμα:
Κώδικας: Επιλογή όλων
#include <iostream>
#include <list>

using namespace std;

int main()
{
list<int> mylist;
list<int>::iterator p;
int myint = 1;

while (myint) {
cout << "Please enter some integers (enter 0 to end): ";
cin >> myint;
if (myint != 0) {
mylist.push_back(myint);
cout << "\n";
}
}

cout << "mylist stores " << (int) mylist.size() << " numbers.\n";

cout << "mylist variables:\n";

p = mylist.begin();
while(p != mylist.end()) {
cout << *p << endl;
p++;
}

return 0;
}


Μάλιστα, διάβα άλλο τρόπο αυτός φαίνεται καλύτερος θα το ψάξω. Σε ευχαριστώ :)
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

Re: Προγραμματισμός σε C++ - Λύνουμε Ασκήσεις

Δημοσίευσηαπό M.Jackson » 24 Αύγ 2011, 13:29

Ποια η χρηση των αναφορων; Δεν καταλαβα σε τι χρησιμεύει..
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

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

Επιστροφή στο Το Σχολείο του Φόρουμ - Ασύγχρονα Μαθήματα