Advertentie | |
|
![]() |
|
keej, ik heb effe zitten puzzelen, en dit heb ik nu
Code:
#include <iostream> #include <stdlib.h> #include <string> using namespace std; int main() { cout <<"De eerste 200 getallen die deelbaar zijn door 78\n"; unsigned long counter=1; unsigned long buffer[200]; char charbuffer[50]; int i=0; while(i<200) { if(counter%78 == 0) { itoa(counter, charbuffer, 10); string string_uit_buffer(charbuffer); if((string_uit_buffer.find("6",0) == string::npos) || (string_uit_buffer.find("9",0) == string::npos)) { buffer[i]=counter; i++; } } counter++; } cout<<i<<endl<<endl; for(i=0; i<200; i++) { cout<<buffer[i]<<" "; } cout<<endl; system("pause"); return 0; } met syntax highlithing http://www.rafb.net/paste/results/v2946342.html maar dit werkt niet..... ![]() terwijl het andersom wel werkt, als ik string_uit_buffer.find("6",0) == string: ![]() ![]() Laatst gewijzigd op 20-12-2003 om 15:36. |
![]() |
||
Citaat:
![]() ![]()
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
|
![]() |
|
ik gebruik er zelf altijd een zelfgemaakte functie voor maar ik weet niet of het de snelste manier is.. hij werkt iig erg goed!
Code:
#define SIX 6 #define NINE 9 typedef enum {SIXORNINE_SIX, SIXORNINE_NINE, SIXORNINE_OTHER} SIXORNINE; SIXORNINE investigateSixOrNineValuedInt(int iValue) { int iIterator, iCounter = 0; SIXORNINE returnValue; assert(SIX!=NINE); for(iIterator=0;iIterator<iValue;iIterator++) { iCounter++; if(iCounter>NINE) break; } if ((iCounter!=SIX)&&(iCounter!=NINE)) { returnValue=SIXORNINE_OTHER; } else { returnValue=(iCounter==SIX?SIXORNINE_SIX:SIXORNINE_NINE); } return returnValue; }
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
|
![]() |
||
Citaat:
![]() ![]()
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
|
![]() |
||
Citaat:
![]()
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
|
![]() |
||
Citaat:
![]()
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
|
![]() |
|
hmm ok ik zie het al
![]() ![]() ![]()
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
|
![]() |
|
Ik heb het dankzij Screaming Slave opgelost. Dit is mijn oplossing:
Code:
#include <iostream> #include <stdlib.h> #include <string> using namespace std; int main() { cout <<"De eerste 200 getallen die deelbaar zijn door 78\n"; unsigned long counter=1; unsigned long buffer[200]; char charbuffer[50]; int i=0; while(i<200) { if(counter%78 == 0) { itoa(counter, charbuffer, 10); string string_uit_buffer(charbuffer); if((string_uit_buffer.find("6",0) == string::npos) && (string_uit_buffer.find("9",0) == string::npos)) { buffer[i]=counter; i++; } } counter++; } cout<<i<<endl<<endl; for(i=0; i<200; i++) { cout<<buffer[i]<<" "; } cout<<endl; system("pause"); return 0; } |
Advertentie |
|
![]() |
|
Verwijderd
|
kan het hele opzoeken niet sneller dmv een bitand?
Code:
int zoekgetal = 9, maal = 10, getal = 9; while( zoekgetal & getal != zoekgetal && zoekgetal <= getal) { zoekgetal *= maal; } if( zoekgetal <= getal ) { // blaat... een 9 gevonden } else { //blaat... geen 9 gevonden } [edit] idd... ik heb het fout ![]() [/edit] Laatst gewijzigd op 22-12-2003 om 08:07. |
![]() |
||
Citaat:
![]() Maar ja.....je werkt met integers. Dan kan je net zo goed gewoon effe 2 if statement maken die kijkt of het tussen de 5 en de 7 ligt, of tussen de 8 en de 10.
__________________
A lie gets halfway around the world before the truth has a chance to get its pants on.
|
![]() |
||
Verwijderd
|
Citaat:
9 kan 90 kan ook 900 kan ook maar 198 werkt niet. en er zit toch echt een 9 in... |
![]() |
||
Citaat:
![]()
__________________
A lie gets halfway around the world before the truth has a chance to get its pants on.
|
![]() |
||
Verwijderd
|
Citaat:
![]() binair, of liever hexadecimaal, gaat tot 16 decimaal. Dan zou je bij 19 decimaal al in de problemen komen. Code:
9d = 9h = 0000 1001b 19d = 13h = 0001 0011b |
![]() |
|
voor datgene dat hendre wil maken, maakt het niet uit of de uitvoering nou 1 of 2 milliseconden duurt... en eerst converteren naar een string is wel veel leesbaarder
ik begrijp alleen niet zo waarom hendre's probleem zo ingewikkeld moet worden opgelost... moet het perse met dit algoritme voor school ofzo? anders kan je toch veel beter dit doen als je de eerste 200 getallen deelbaar door 78 wil weergeven? Code:
#include <iostream> int main(int argc, char *argv[]) { int I; cout << "De eerste 200 getallen die deelbaar zijn door 78" >> endl; for (I = 0; I < 200; I++) { cout << I * 78 << " "; } cout << endl; return 0; } ![]() ![]()
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Laatst gewijzigd op 22-12-2003 om 12:58. |
![]() |
|
ja de eerste 200 getallen die deelbaar zijn door 78 is geen probleem, maar het probleem ligt meer in dat de getallen géén 6 óf 9 mogen bevatten vanwege een engels grapje
![]() Why is the 6 afraid of the 7?
Spoiler
Ik heb nu trouwens iets uitdagenders. Dit is de opdr8 waar ik al een 2 dagen mee aan het puzzelen ben. De Romeinen hadden een spelletje met muntjes, te weten sestertii. Er staan een heleboel lege potjes op een rij en de eerste Romein die langskomt gooit in elk potje een sestertius. Daarna komt de tweede Romein die haalt uit alle even potjes het muntje. De potjes zijn genummerd1 van 1 t/m n, waarbij n het laatste potje is. De nummering is opeenvolgend. Dan komt de 3e romein en gaat alle potjes die een veelvoud van drie zijn na, en als er een muntje inligt dan pakt hij dat, en als er geen muntje inligt dan doet hij er een in. Dus hij pakt het muntje uit potje 3 en doet dat in potje 6. Daarna pakt hij het muntje uit potje 9 en doet dat in potje 12, enzovoort. De vierde Romein doet hetzelfde voor alle potjes met als nummer een viervoud. Nadat er n Romeinen zijn geweest, in hoeveel potjes ligt er dan een muntje? Kan je ook een rij maken van X-en en O-en waarbij een X staat voor wel een munt, en O voor geen munt? Het probleem is hoe maak ik een 2de array met een dynamische groote. Een gewone array lukt wel, maar bij 2d krijg ik een error van mn compiler. voor een gewone array met dynamische grootte doe ik Code:
int * dArray; dArray = new int [size]; Code:
int * dArray; dArray = new int [size1][size2]; Laatst gewijzigd op 22-12-2003 om 15:18. |
![]() |
||
Citaat:
![]() En malloc, hmm het is nog een C-style (tog) maar ik zal er effe naar kijken, maar geheugentoewijzen en pointers enzo dat is niet mn sterkste punt... ![]() Ok, ik heb effe malloc bekeken. Stel ik wil een 2d array maken met malloc. Werkt dat dan ong zo Code:
int * dArray; dArray = (int*)malloc((nP*sizeof(int))*(nR*sizeof(int))); Laatst gewijzigd op 22-12-2003 om 19:57. |
![]() |
||
Verwijderd
|
Citaat:
![]() |
![]() |
||
Verwijderd
|
Citaat:
Trouwens, hier kun je het programmatje dat ik net heb gemaakt nav jou verhaaltje van de Romeinen bekijken, geschreven in FoxPro. Als het goed is heb je niet de 7 MB aan dll's nodig die FoxPro zo graag wilt. Maar dat weet ik niet. Laat het even weten ![]() |
![]() |
||
Citaat:
dll's heb je wel nodig ![]() ![]() Laatst gewijzigd op 22-12-2003 om 20:01. |
![]() |
||
Verwijderd
|
Citaat:
![]() http://www.divinity-universe.nl/downloads/romein.prg Nu heb ik wel jouw huiswerk lopen maken.. maarja. Voor één keer maakt mij dat niet zoveel uit ![]() |
![]() |
||
Citaat:
![]() |
![]() |
||
Citaat:
![]() |
![]() |
||
Verwijderd
|
Citaat:
In de help staat dat elke exe 2 support dll's nodig heeft, te weten Vfp8r.dll en Vfp8renu.dll. En laten deze 2 samen nu toevallig 5.19 MB zijn. (ok, 7 MB was wat overdreven...) |
![]() |
|
|