Multidesk.be » Forums » C en C++ » Tenta (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door velantoni op donderdag 18 mei 2006 om 22:25:51.
velantoni heeft nog geen avatar toegevoegd
Multiviteit: 2
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Wie kan me met deze opdracht helpen:

Schrijf een programma in C++ dat een rij gehele getallen, afgesloten met een woord STOP( of een andere niet numerieke code) van het toetsenbord leest en bepaalt wat het grootste getal is en hoe vaak dat in de rij voorkomt.

^ Reactie #1 geschreven door thekid op vrijdag 19 mei 2006 om 00:45:38.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
mja, 'k heb het snel snel gedaan, geen flauw idee in C++ hoe een string te parsen naar int, dus klein dingske bijgeschreven...

CODE
  1.  
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <string.h>
  5.  
  6. using namespace std;
  7.  
  8. bool isNumeric(string value)
  9. {
  10.      bool retvalue = 1;
  11.      
  12.      for (int x = 0; x < value.length(); x++)
  13.      {
  14.          if (!(((int)(value[x]) >= 48 && (int)(value[x]) <= 57) || value[x] == '-'))
  15.          {
  16.             retvalue = 0;
  17.             break;
  18.          }
  19.      }
  20.      return retvalue;
  21. }
  22.  
  23. int getNumValue(string value)
  24. {
  25.      int retvalue = 0;
  26.      int multiply = 1;
  27.      
  28.      for (int x = 0; x < value.length(); x++)
  29.      {
  30.          if (value[x] == '-')
  31.             multiply = -1;
  32.          else
  33.              retvalue = retvalue * 10 + ((int)value[x]) - 48;
  34.      }
  35.      
  36.      return retvalue * multiply;
  37. }
  38.  
  39. int main(int argc, char *argv[])
  40. {
  41.     int maxnumber = -10000000;
  42.     int maxrepeat = -1;
  43.     string input;
  44.  
  45.     cout << "Nieuwe waarde (alfanumeriek = stop): ";   
  46.     cin >> input;
  47.     while (input != "stop")
  48.     {
  49.           if (isNumeric(input))         
  50.           {
  51.              int nr = getNumValue(input);
  52.                          
  53.              if (nr == maxnumber) maxrepeat++;
  54.              if (nr > maxnumber)
  55.              {
  56.                  maxnumber = nr;
  57.                  maxrepeat = 0;
  58.              }
  59.           }
  60.           else
  61.           {
  62.               break;
  63.           }
  64.          
  65.           cout << "Nieuwe waarde (alfanumeriek = stop): ";   
  66.           cin >> input;
  67.     }
  68.    
  69.     printf("Het hoogst ingegeven nr: %d en werd %d keer herhaald!\n", maxnumber, ++maxrepeat);
  70.    
  71.     system("PAUSE");
  72.     return EXIT_SUCCESS;
  73. }
  74.  
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #2 geschreven door thekid op zaterdag 20 mei 2006 om 14:10:58.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
En heeft het dan gelukt?
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #3 geschreven door Suriv op zaterdag 20 mei 2006 om 14:15:31.
Suriv's avatar
Multiviteit: 7607
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Randinformatie


En IS het dan gelukt hé;)
^ Reactie #4 geschreven door NightCreature op vrijdag 2 juni 2006 om 14:59:19.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
atoi en itoa zijn de string naar int en int naar string functies in C++ zitten in stdio.h geloof ik. Anders zie google lol
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
^ Reactie #5 geschreven door thekid op vrijdag 2 juni 2006 om 15:41:00.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
tja, als ik iets niet vind probeer ik eerst met eigen methodes, hé :D als het dan nog niet lukt, dan ga ik wel eens naar Google gaan kijken ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #6 geschreven door NightCreature op donderdag 8 juni 2006 om 23:56:53.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Maar ja Standard C++ Library functie zijn meestal wel een stuk sneller dan je eigen functies. En minder memory leak gevoelig.
In C++ moet je namelijk heel goed opletten wat je doet heb ik gemerkt je kan er snel een rotzooitje van maken
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
^ Reactie #7 geschreven door thekid op vrijdag 9 juni 2006 om 13:50:28.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Daar geef ik je volledig gelijk ik, maar zoals ik zei, 'k wilde rap iets ineen prutsen, en 't werkt dus :D opdracht geslaagd, hé
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #8 geschreven door NightCreature op dinsdag 20 juni 2006 om 20:40:59.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
ja id dan maar een quick and dirty hack lol :p
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten