abonnement Unibet Coolblue Bitvavo
pi_116538489
quote:
0s.gif Op zaterdag 8 september 2012 16:29 schreef GS42 het volgende:

[..]

Ten eerste: waarom probeer je het te doen? Het lijkt op of een opgave uit een leerboek of een huiswerkopdracht. Iets meer context is handig.

Als het uit een leerboek is: hoe oud is je boek? Je gebruikt conio.h en int main(void) waardoor ik een beetje het idee heb weer in de jaren '80 te zitten. :P En als je boek werkelijk over C++ gaat, doe je er beter aan weg te gooien. Als je boek over C gaat, kan je er misschien wel iets mee.

Dat is namelijk het tweede punt: als je C++ code probeert te schrijven, kan je beter helemaal overnieuw beginnen: het gebruik van printf en scanf is een doodszonde. Beter kan je het vanaf het begin goed leren. (Als je echter een C programma probeert te schrijven, is het prima.)

En je lijkt nogal wat basisconcepten niet duidelijk te hebben, zoals wat er opgeslagen wordt in een fundamenteel type en wat de operatoren doen. Het helpt om hierover te lezen voordat je begint te typen. :)
Er is helemaal niets mis met scanf en printf gebruiken in C++-code. Sterker nog, ik zie cout en cin zelden buiten leerboeken, en dat heeft een reden.
Want ik heb destijds besloten, dat ik de harde weg ontwijk.
Dus blijf ik lopen door de sloten, het liefst in zeven tegelijk.
BZB - Zeven Sloten
  zaterdag 8 september 2012 @ 18:46:00 #102
189216 netolk
maar dan andersom
pi_116540144
quote:
0s.gif Op zaterdag 8 september 2012 17:39 schreef FrankRicard het volgende:

[..]

Er is helemaal niets mis met scanf en printf gebruiken in C++-code. Sterker nog, ik zie cout en cin zelden buiten leerboeken, en dat heeft een reden.
Tja, ik weet niet hoor maar std::cin en std::cout zijn zeg maar gemaakt voor C++ en scanf en printf zijn "oude" functies vanuit C overigens kunnen ze nog nuttig zijn maar het heeft een reden dat ze niet in de std zitten
Beware of the Raping Zebra's
  zaterdag 8 september 2012 @ 18:47:38 #103
189216 netolk
maar dan andersom
pi_116540179
quote:
0s.gif Op zaterdag 8 september 2012 16:48 schreef dfdsdfds het volgende:

[..]

Ik moet voor a.s. woensdag 4 opdrachten inleveren en zit pas op 1/4 :|W Klakkeloos overnemen van anderen heeft geen zin bij dit vak, dat weet ik. Bovendien weet de docent dat snel genoeg te achterhalen dus daar ben ik niet op uit. Eerder informatie zodat ik een beetje op gang geholpen kan worden.
Die conio die je bedoelt is overbodig weet ik, maar ik laat 'm maar erbij staan.
Ik heb nog een vaag dictaat gevonden op school maar daar kom ik ook niet erg wijs uit. Weet jij een gratis betere NLse versie?
En waarom weet je dit dan niet als je die opdrachten moet maken?
niet naar college geweest of is het een slechte docent?
of ben je gewoon te laat begonnen???
Beware of the Raping Zebra's
pi_116540309
quote:
0s.gif Op zaterdag 8 september 2012 18:47 schreef netolk het volgende:

[..]

En waarom weet je dit dan niet als je die opdrachten moet maken?
niet naar college geweest of is het een slechte docent?
of ben je gewoon te laat begonnen???
Heb een heel schooljaar gemist. Docent is maandag wel bereikbaar voor vragen. Programmeren valt eigenlijk niet uit te leggen. De stof komt al snel over als 'blackmagic'. Pas na 10 keer oefenen leer je er iets van.
  zaterdag 8 september 2012 @ 18:56:21 #105
189216 netolk
maar dan andersom
pi_116540388
quote:
0s.gif Op zaterdag 8 september 2012 18:53 schreef dfdsdfds het volgende:

[..]

Heb een heel schooljaar gemist. Docent is maandag wel bereikbaar voor vragen. Programmeren valt eigenlijk niet uit te leggen. De stof komt al snel over als 'blackmagic'. Pas na 10 keer oefenen leer je er iets van.
Klopt, dat is dus ook de reden waarom je de basis moet begrijpen want anders zal het je niet lukken...
kijk hier anders eens: klik
en verder kun je heel veel vinden op google en wikipedia...
Beware of the Raping Zebra's
pi_116593957
quote:
0s.gif Op zaterdag 8 september 2012 16:48 schreef dfdsdfds het volgende:

[..]

Ik moet voor a.s. woensdag 4 opdrachten inleveren en zit pas op 1/4 :|W Klakkeloos overnemen van anderen heeft geen zin bij dit vak, dat weet ik. Bovendien weet de docent dat snel genoeg te achterhalen dus daar ben ik niet op uit. Eerder informatie zodat ik een beetje op gang geholpen kan worden.
Die conio die je bedoelt is overbodig weet ik, maar ik laat 'm maar erbij staan.
Ik heb nog een vaag dictaat gevonden op school maar daar kom ik ook niet erg wijs uit. Weet jij een gratis betere NLse versie?
Je hebt nog niet aangegeven of de cursus nu in C of C++ wordt gegeven, maar op basis van de code neem ik aan dat het C is. Dan is dit een prima en online beschikbaar boek om te lezen: ftp://ftp.icce.rug.nl/pub/frank/tmp/cbook.pdf

Als het toch C++ betreft, kan je hier kijken voor tips. Misschien zijn boeken op die lijst vertaald naar het Nederlands?
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116594572
quote:
0s.gif Op zaterdag 8 september 2012 17:39 schreef FrankRicard het volgende:

Er is helemaal niets mis met scanf en printf gebruiken in C++-code. Sterker nog, ik zie cout en cin zelden buiten leerboeken, en dat heeft een reden.
Ah, leuk. Waarom denk je dat er niets mis mee is en welke reden denk je gevonden te hebben?

Misschien is mijn 'doodszonde' een beetje sterk uitgedrukt ( ;) ), maar ik sta er zeker achter dat in een C++ programma scanf en printf niet gebruikt moeten worden, tenzij daar heel erg goede en gedocumenteerde redenen voor zijn (waarvan ik geen enkel voorbeeld kan verzinnen...). En dat is niet omdat ze slecht zijn, maar wel omdat C++ voor beide een beter alternatief levert.

Beide oude C-functies verwachten een format-string en scanf verwacht pointers naar types. Dit zijn twee punten waarop gemakkelijk fouten gemaakt kunnen worden die met de C++-functies onmogelijk zijn. Daarnaast geven de input en output streams van C++ betere uniformiteit (schrijven naar bestanden of sockets kan op dezelfde manier als schrijven naar cout), meer formatting opties (zie iomanip) en meer mogelijkheden (zo is het mogelijk een class direct in std::cout te stoppen). Vroeger waren er nog wel eens verhalen dat het een of het ander sneller zou zijn, maar de compiler-kwaliteit is nu zo dat ik geen enkel verschil verwacht; er is namelijk geen technische reden waarom er verschil zou zijn.

Ik zie ook wel eens (niet vaak) printf en scanf in C++-code staan en ik denk ook dat het een reden heeft. Die reden is volgens mij omdat veel C-programmeurs 'overgestapt' zijn naar C++ zonder hun programmeerstijl aan te passen: ze gebruiken C++ gewoon als C met een beetje STL. Prima natuurlijk, maar het levert geen nette C++ code op.

Maar zoals ik al zei, ik ben benieuwd naar jouw kant. Kijk je veel naar andermans code en naar welke reden verwijs je?
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116597310
quote:
0s.gif Op zaterdag 8 september 2012 18:56 schreef netolk het volgende:

[..]

Klopt, dat is dus ook de reden waarom je de basis moet begrijpen want anders zal het je niet lukken...
kijk hier anders eens: klik
en verder kun je heel veel vinden op google en wikipedia...
Er bestaat al een Nls C++ forum...
pi_116721373
C++ is ook een erg goede taal om verschikkelijke code in te schrijven. De volgende code is geldige C++(11). Het is dus prima te compileren en te runnen. Kan je voorspellen wat de output is? En waarom?

1
2
3
4
5
6
7
8
9
10
??=include <iostream>
%:include <algorithm>
#include <iterator>

auto main() -> decltype(std::ios_base::xalloc() & false) ??<
    decltype(main()) _int<::> = <%??-??-72,101,??-??-108,108,111,??-??-32,119,111,??-??-114,108,100,??-??-46,10??>;
    std::copy(_int, _int + sizeof(_int) / sizeof(_int??(??--1U??)), std::ostream_iterator<decltype('??!')>(std::cout));
    // Vreemd, he??/
    std::cout << "Program done.\n";
??>

Dit demonstreert mooi het nut van niet alleen juist maar ook duidelijk programmeren. :)
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116772669
quote:
0s.gif Op maandag 10 september 2012 10:41 schreef GS42 het volgende:

[..]

Ah, leuk. Waarom denk je dat er niets mis mee is en welke reden denk je gevonden te hebben?

Misschien is mijn 'doodszonde' een beetje sterk uitgedrukt ( ;) ), maar ik sta er zeker achter dat in een C++ programma scanf en printf niet gebruikt moeten worden, tenzij daar heel erg goede en gedocumenteerde redenen voor zijn (waarvan ik geen enkel voorbeeld kan verzinnen...). En dat is niet omdat ze slecht zijn, maar wel omdat C++ voor beide een beter alternatief levert.

Beide oude C-functies verwachten een format-string en scanf verwacht pointers naar types. Dit zijn twee punten waarop gemakkelijk fouten gemaakt kunnen worden die met de C++-functies onmogelijk zijn. Daarnaast geven de input en output streams van C++ betere uniformiteit (schrijven naar bestanden of sockets kan op dezelfde manier als schrijven naar cout), meer formatting opties (zie iomanip) en meer mogelijkheden (zo is het mogelijk een class direct in std::cout te stoppen). Vroeger waren er nog wel eens verhalen dat het een of het ander sneller zou zijn, maar de compiler-kwaliteit is nu zo dat ik geen enkel verschil verwacht; er is namelijk geen technische reden waarom er verschil zou zijn.

Ik zie ook wel eens (niet vaak) printf en scanf in C++-code staan en ik denk ook dat het een reden heeft. Die reden is volgens mij omdat veel C-programmeurs 'overgestapt' zijn naar C++ zonder hun programmeerstijl aan te passen: ze gebruiken C++ gewoon als C met een beetje STL. Prima natuurlijk, maar het levert geen nette C++ code op.

Maar zoals ik al zei, ik ben benieuwd naar jouw kant. Kijk je veel naar andermans code en naar welke reden verwijs je?
Ik heb bij verschillende bedrijven code gezien en geschreven. Over het algemeen werd printf, scanf, cout en cin daar alleen gebruikt voor debug/logging. Vooral fprintf en fscanf dus. Deels zal dat zeker komen door mensen die overgestapt zijn uit C, maar zelf heb ik bijvoorbeeld eerst C++ geleerd (met cout en cin) en daarna pas C. Ik vind het gebruik van (f)printf en (f)scanf fijner omdat je op een makkelijkere en snellere manier meer controle hebt over hoe de formatting van je data is.
Bijvoorbeeld:
1fprintf(dumpfile,"%.1f\t%.5f\n",input,result);
Of (en dit moest ik even opzoeken)
1
2
3
4
dumpfile.setprecision(1);
dumpfile << fixed << input << "\t";
dumpfile.setprecision(5);
dumpfile << result << endl;

EDIT:
Ik zie nu dat dit ook kan, maar dan vind ik de fprintf nog steeds makkelijker.
1dumpfile << fixed << setprecision(1) << input << "\t" << setprecision(5) << result << endl;
Want ik heb destijds besloten, dat ik de harde weg ontwijk.
Dus blijf ik lopen door de sloten, het liefst in zeven tegelijk.
BZB - Zeven Sloten
pi_116773271
Het voordeel van printf is de formatting, en het voordeel van cin en cout is dat je er niet tot beperkt bent maar dezelfde code bijvoorbeeld ook kunt toepassen op stringstreams. Het heeft allebei voor- en nadelen, en je moet gewoon datgene gebruiken wat voor je specifieke doeleinden het beste is.
pi_116775796
quote:
0s.gif Op vrijdag 14 september 2012 11:23 schreef FrankRicard het volgende:

Ik vind het gebruik van (f)printf en (f)scanf fijner omdat je op een makkelijkere en snellere manier meer controle hebt over hoe de formatting van je data is.
Ik kan me wel voorstellen dat je het gemakkelijker en sneller vindt, omdat het inderdaad een stuk korter is om te typen. Echter, zover ik weet geeft printf niet "meer" controle. In jouw voorbeeldcode vind ik zelf de C++ code mooier om te lezen: ik vind het duidelijker om te zien wat er gebeurt, vooral omdat "setprecision" meer betekenis heeft dan "%.1f". Maar dit zal ook grotendeels gebaseerd zijn op voorkeur. De voordelen van de C++-aanpak die ik al genoemd heb, blijven natuurlijk onafhankelijk van mening. ;)

Het enige objectieve voordeel van de printf-notatie is volgens mij dat printf tekst en variabelen mooi gescheiden houdt. Als je bijvoorbeeld een applicatie in meerdere talen wilt leveren, dan is iets als "Je leeftijd is %d jaar en %d dagen" mooi in een apart bestandje te zetten en kan je elke zin in een keer vertalen. Met std::cout gaat dit moeilijker, omdat je de zin in stukjes moet knippen.

Dit is natuurlijk niet de primaire functie van output-methoden en dus eigenlijk een toevallig effect van printf, maar wel een heel handige eigenschap. Boost heeft een library om dit effect ook in C++ te bereiken, met de voordelen van C++ (typesafe en eigen klassen gemakkelijk afdrukken) erbij.

Ik kan goed begrijpen dat je de printf-notatie gemakkelijker te typen vindt, maar ik denk dat de voordelen van de C++-alternatieven zwaarder wegen dan dat gemak.
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116788165
quote:
0s.gif Op woensdag 12 september 2012 23:52 schreef GS42 het volgende:
C++ is ook een erg goede taal om verschikkelijke code in te schrijven. De volgende code is geldige C++(11). Het is dus prima te compileren en te runnen. Kan je voorspellen wat de output is? En waarom?
[ code verwijderd ]

Dit demonstreert mooi het nut van niet alleen juist maar ook duidelijk programmeren. :)
Hm even analyseren. :P

Krijg wel leuke warnings.
trigraphs...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ g++ -Wall -Wextra -std=c++11 -o meuk meuk.cpp
meuk.cpp:1:1: warning: trigraph ??= converted to # [-Wtrigraphs]
meuk.cpp:5:58: warning: trigraph ??< converted to { [-Wtrigraphs]
meuk.cpp:6:35: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:36: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:44: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:45: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:58: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:59: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:71: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:72: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:85: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:86: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:6:92: warning: trigraph ??> converted to } [-Wtrigraphs]
meuk.cpp:7:54: warning: trigraph ??( converted to [ [-Wtrigraphs]
meuk.cpp:7:55: warning: trigraph ??- converted to ~ [-Wtrigraphs]
meuk.cpp:7:59: warning: trigraph ??) converted to ] [-Wtrigraphs]
meuk.cpp:7:95: warning: trigraph ??! converted to | [-Wtrigraphs]
meuk.cpp:8:18: warning: trigraph ??/ converted to \ [-Wtrigraphs]
meuk.cpp:8:5: warning: multi-line comment [-Wcomment]
meuk.cpp:10:1: warning: trigraph ??> converted to } [-Wtrigraphs]

-edit-
Als je wil weten wat dit wordt, gebruik -E in gcc ;)

1
2
3
4
5
auto main() -> decltype(std::ios_base::xalloc() & false) {
    decltype(main()) _int<::> = <%~~72,101,~~108,108,111,~~32,119,111,~~114,108,100,~~46,10};
    std::copy(_int, _int + sizeof(_int) / sizeof(_int[~-1U]), std::ostream_iterator<decltype('|')>(std::cout));

}
Let op dat ??/ in de comment er voor zorgt dat de regel erna ook een comment is.

[ Bericht 30% gewijzigd door t4rt4rus op 14-09-2012 18:43:45 ]
pi_116801131
quote:
0s.gif Op vrijdag 14 september 2012 18:25 schreef t4rt4rus het volgende:

[..]

Hm even analyseren. :P

Krijg wel leuke warnings.
trigraphs...
[ code verwijderd ]

-edit-
Als je wil weten wat dit wordt, gebruik -E in gcc ;)
[ code verwijderd ]

Let op dat ??/ in de comment er voor zorgt dat de regel erna ook een comment is.
Netjes, dat is de eerste stap. Dat zijn inderdaad twee vuile truukjes die ik erin heb gestopt: het gebruik van trigraphs en (gerelateerd) de dubbele commentaar-regel die schijnbaar uitgevoerde code verstopt.

Trigraphs zijn tekencombinaties die beginnen met ?? en bepaalde speciale tekens "#\^[]|{}~" kunnen vervangen (omdat die tekens vroeger niet op alle machines beschikbaar waren). Ook kan je ermee dus een commentaar-regel door laten lopen naar de volgende regel. De preprocessor vervangt deze trigraphs door het 'normale' teken en compileert daarna de code verder. Zoals je kunt zien leidt het gebruik van trigraphs tot onleesbare code en moet je ze dan ook nooit gebruiken, maar het is nuttig om te weten dat ze bestaan: ze kunnen rare problemen veroorzaken.

Maar zelfs nadat de preprocessor erover is geweest, is de code nog niet gemakkelijk te lezen. Er zit nog een aantal andere vreemde constructies in, waarbij de compiler-waarschuwingen je niet gaan helpen. :P
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116810850
quote:
0s.gif Op vrijdag 14 september 2012 23:18 schreef GS42 het volgende:

[..]
Maar zelfs nadat de preprocessor erover is geweest, is de code nog niet gemakkelijk te lezen. Er zit nog een aantal andere vreemde constructies in, waarbij de compiler-waarschuwingen je niet gaan helpen. :P
Als je dan ook nog de digraphs eruit haalt en de dubbele not operators, is het toch wel te lezen?
Vond die digraph <::> wel leuk, dan denk je dat het een één of andere template is maar het is gewoon een array.

Wel vreemd dat de preprocessor de digraphs niet er niet uithaalt.
Even kijken of dat echt zo is...

-edit-
En volgens mij mag `decltype(main())' niet.
pi_116837184
quote:
0s.gif Op zaterdag 15 september 2012 12:10 schreef t4rt4rus het volgende:

[..]

Als je dan ook nog de digraphs eruit haalt en de dubbele not operators, is het toch wel te lezen?
Vond die digraph <::> wel leuk, dan denk je dat het een één of andere template is maar het is gewoon een array.

Wel vreemd dat de preprocessor de digraphs niet er niet uithaalt.
Even kijken of dat echt zo is...

-edit-
En volgens mij mag `decltype(main())' niet.
Je bedoelt met "dubbele not operators" de bitwise complement operators (~)? En die digraph vond ik inderdaad ook leuk om de template-achtige notitie. Het is niet vreemd dat de preprocessor de digraphs er niet uithaalt, omdat dit niet door de preprocessor gedaan wordt. De digraphs worden tijdens het compileren zelf verwerkt.

Waarom mag decltype(main()) niet, denk je? Ik ben er niet 100% zeker van dat het mag, maar ik heb niets gevonden dat zegt dat het niet mag. De functie wordt niet uitgevoerd (daarom is decltype(i++) ook zo'n gemeen statement) en main() levert een rvalue int op, dus ik neem aan dat dat type gewoon gebruikt wordt. Mis ik iets?

Ik ben er ook nog steeds niet helemaal zeker van of "~-1U" wel portable is. Er is natuurlijk wel een elegant en portable alternatief, maar toch.
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116840446
quote:
0s.gif Op zondag 16 september 2012 01:47 schreef GS42 het volgende:

[..]

Je bedoelt met "dubbele not operators" de bitwise complement operators (~)?
Bitwise not of complement ja.

quote:
Waarom mag decltype(main()) niet, denk je? Ik ben er niet 100% zeker van dat het mag, maar ik heb niets gevonden dat zegt dat het niet mag. De functie wordt niet uitgevoerd (daarom is decltype(i++) ook zo'n gemeen statement) en main() levert een rvalue int op, dus ik neem aan dat dat type gewoon gebruikt wordt. Mis ik iets?
warning: ISO C++ forbids taking address of function ‘::main’

Ik snap hem ook niet.

quote:
Ik ben er ook nog steeds niet helemaal zeker van of "~-1U" wel portable is. Er is natuurlijk wel een elegant en portable alternatief, maar toch.
Wanneer zou dat niet compatible zijn dan?
pi_116842265
Een tijdje terug heb ik op een site gezeten die vergelijkbaar is met Project Euler.
Alleen ging het daar echt om het programmeren en was het wat minder mathematisch.

Je had net als Project Euler vaste vragen, echter was er geen vast antwoord voor een vraag.
Voor elke vraag kreeg je een input die je moest gebruiken in je programma.
Deze input veranderde echter elke keer en je moest binnen een tijdslimiet je antwoord invullen of je moest de pagina herladen om een andere input te krijgen.

Kent iemand deze site?
pi_116854656
quote:
0s.gif Op zondag 16 september 2012 11:04 schreef t4rt4rus het volgende:

Bitwise not of complement ja.

[..]

warning: ISO C++ forbids taking address of function ‘::main’

Ik snap hem ook niet.

[..]

Wanneer zou dat niet compatible zijn dan?
Ik wist niet dat ~ ook wel not genoemd wordt; ik dacht gelijk aan operator!. :)

En nee, ik snap niet waarom GCC over decltype(main()) klaagt. Misschien iets in de implementatie van decltype(), waardoor de compiler toch denkt dat de operand ergens uitgevoerd wordt. Of het mag echt niet om een of andere reden...

Ik twijfel aan ~-1U omdat ik niet zeker weet of -1U ook gegarandeerd alle bits op 1 zet op rare systemen.
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116859906
quote:
0s.gif Op zondag 16 september 2012 17:24 schreef GS42 het volgende:

[..]
En nee, ik snap niet waarom GCC over decltype(main()) klaagt. Misschien iets in de implementatie van decltype(), waardoor de compiler toch denkt dat de operand ergens uitgevoerd wordt. Of het mag echt niet om een of andere reden...
ISO/IEC 14882:2011
3.6.1/3:
quote:
The function main shall not be used within a program.
quote:
Ik twijfel aan ~-1U omdat ik niet zeker weet of -1U ook gegarandeerd alle bits op 1 zet op rare systemen.
Boeit voor het programma verder ook niet. ;)
http://ideone.com/txgjY

[ Bericht 1% gewijzigd door t4rt4rus op 16-09-2012 20:51:54 ]
  zondag 16 september 2012 @ 21:15:13 #121
314941 Ai_KaRaMBa
Eat my shorts!
pi_116866756
quote:
0s.gif Op zondag 16 september 2012 12:16 schreef t4rt4rus het volgende:
Een tijdje terug heb ik op een site gezeten die vergelijkbaar is met Project Euler.
Alleen ging het daar echt om het programmeren en was het wat minder mathematisch.

Je had net als Project Euler vaste vragen, echter was er geen vast antwoord voor een vraag.
Voor elke vraag kreeg je een input die je moest gebruiken in je programma.
Deze input veranderde echter elke keer en je moest binnen een tijdslimiet je antwoord invullen of je moest de pagina herladen om een andere input te krijgen.

Kent iemand deze site?
Zou USACO kunnen zijn?
pi_116872351
quote:
0s.gif Op zondag 16 september 2012 19:42 schreef t4rt4rus het volgende:

[..]

ISO/IEC 14882:2011
3.6.1/3:
Die had ik ook gevonden, maar het verduidelijkt hier niet. C++ noemt code namelijk "gebruikt" als het op een plek staat die geevalueerd kan worden, wat binnen decltype() duidelijk niet het geval is.

quote:
Boeit voor het programma verder ook niet. ;)
Dat klopt in deze context inderdaad. Ik vraag het me alleen nog wel af. ;)
"Slechts diegene mag slopen die iets beters kan bouwen."
pi_116874097
quote:
0s.gif Op zondag 16 september 2012 21:15 schreef Ai_KaRaMBa het volgende:

[..]

Zou USACO kunnen zijn?
Nee

Misschien zijn er ook wel zo veel van die sites...
pi_116999786
Zitten er hier nog mensen op IRC?
Leuk om te channel te maken voor C++ op irc.fok.nl, irc.tweakers.net?
pi_117301033
quote:
0s.gif Op woensdag 19 september 2012 21:06 schreef t4rt4rus het volgende:
Zitten er hier nog mensen op IRC?
Leuk om te channel te maken voor C++ op irc.fok.nl, irc.tweakers.net?
prima
#cplusplus

[ Bericht 48% gewijzigd door ouyevoli op 27-09-2012 06:13:33 ]
Op zondag 30 september 2012 02:37 schreef LompeHork het volgende:
ouyevoli vind ik wel kwaliteit.
Op woensdag 3 oktober 2012 23:15 schreef Bitterlemon het volgende:
Ik wil kwaliteit, waar is Ouyevoli?
pi_117343930
quote:
0s.gif Op donderdag 27 september 2012 02:12 schreef ouyevoli het volgende:

[..]

prima
#cplusplus
Je mag ook blijven zitten in #c of #c++ :P
pi_117344434
Werkt dat echt, irc-kanalen over dit soort onderwerpen?
pi_117344926
Waarschijnlijk alleen als je afspreekt om tijdstip X.
pi_117345742
quote:
0s.gif Op vrijdag 28 september 2012 10:40 schreef thabit het volgende:
Werkt dat echt, irc-kanalen over dit soort onderwerpen?
echt wel :P
Is gezellig, lol.
pi_118809391
Zijn er nog mensen bezig met C++?
Ik ben nu een beetje bezig om Autotools te gebruiken.
Weet alleen niet echt waar te beginnen met het lezen van documentaties.
Iemand een idee?
pi_120909512
Het volgende pdf'je is aardig leesvoer voor mensen die denken dat C geen object-georiënteerde taal is: http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

C biedt ruime mogelijkheden om volledig OOP te gaan, op een manier die veel dynamischer is dan wat er in het "++"-deel van C++ zit.

In mijn ogen is het belangrijkste voordeel van C++ over C dan ook niet de OOP-structuur, maar de extra type safety die het te bieden heeft.
pi_120909549
Yey weer een post in C(++) :D
  vrijdag 4 januari 2013 @ 01:52:31 #133
189216 netolk
maar dan andersom
pi_121138432
quote:
6s.gif Op zaterdag 29 december 2012 14:12 schreef thabit het volgende:
Het volgende pdf'je is aardig leesvoer voor mensen die denken dat C geen object-georiënteerde taal is: http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

C biedt ruime mogelijkheden om volledig OOP te gaan, op een manier die veel dynamischer is dan wat er in het "++"-deel van C++ zit.

In mijn ogen is het belangrijkste voordeel van C++ over C dan ook niet de OOP-structuur, maar de extra type safety die het te bieden heeft.
Dat ziet er inderdaad interessant uit

bedankt
Beware of the Raping Zebra's
pi_121138988
quote:
6s.gif Op zaterdag 29 december 2012 14:12 schreef thabit het volgende:
Het volgende pdf'je is aardig leesvoer voor mensen die denken dat C geen object-georiënteerde taal is: http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

C biedt ruime mogelijkheden om volledig OOP te gaan, op een manier die veel dynamischer is dan wat er in het "++"-deel van C++ zit.

In mijn ogen is het belangrijkste voordeel van C++ over C dan ook niet de OOP-structuur, maar de extra type safety die het te bieden heeft.
Thanks! Mooie pdf. Laatste is ook een belangerijke reden waarom kernels ook nog steeds vaak in C worden geschreven,
pi_122843819
Even een kick,

Sinds kort begonnen met C++ tot nu toe gaat het wel goed, maar het geheugenbeheer schijnt vaak een probleem te zijn bij C++, zeker voor een beginner. Is C++ te doen voor een beginneling of is het te hoog gegrepen en zou je beter met een taal kunnen beginnen waar het geheugen is afgeschermd? Of het valt het allemaal wel mee?
pi_122844444
quote:
0s.gif Op woensdag 13 februari 2013 20:22 schreef ufopiloot12 het volgende:
Even een kick,

Sinds kort begonnen met C++ tot nu toe gaat het wel goed, maar het geheugenbeheer schijnt vaak een probleem te zijn bij C++, zeker voor een beginner. Is C++ te doen voor een beginneling of is het te hoog gegrepen en zou je beter met een taal kunnen beginnen waar het geheugen is afgeschermd? Of het valt het allemaal wel mee?
Hangt ervan af hoe slim je bent.
pi_122846403
quote:
0s.gif Op woensdag 13 februari 2013 20:22 schreef ufopiloot12 het volgende:
Even een kick,

Sinds kort begonnen met C++ tot nu toe gaat het wel goed, maar het geheugenbeheer schijnt vaak een probleem te zijn bij C++, zeker voor een beginner. Is C++ te doen voor een beginneling of is het te hoog gegrepen en zou je beter met een taal kunnen beginnen waar het geheugen is afgeschermd? Of het valt het allemaal wel mee?
Als je het principe snapt dat je geheugen kan alloceren en je dit ook weer terug moet geven, hoeft het geen probleem te zijn.
Maar C++ heeft ook classes voor memory management ;)
pi_122856012
Nee, dat is geen enkel probleem. Indien nodig gaat je computer vanzelf het extra geheugen swappen met disk ruimte op je harde schijf. Dat is tevens een mooi moment om een koffie/thee pauze te nemen :).
pi_122857593
quote:
14s.gif Op woensdag 13 februari 2013 23:50 schreef Wolfje het volgende:
Nee, dat is geen enkel probleem. Indien nodig gaat je computer vanzelf het extra geheugen swappen met disk ruimte op je harde schijf. Dat is tevens een mooi moment om een koffie/thee pauze te nemen :).
Uh, wat? Oh wacht, sarcasme.

Als het wel een probleem is dan is geen enkele taal een goed alternatief; slimmer programmeren is dan beter.
More oneness, less categories
Open hearts, no strategies
Decisions based upon faith and not fear
People who live right now and right here
pi_123122509
quote:
0s.gif Op woensdag 13 februari 2013 20:22 schreef ufopiloot12 het volgende:
Even een kick,

Sinds kort begonnen met C++ tot nu toe gaat het wel goed, maar het geheugenbeheer schijnt vaak een probleem te zijn bij C++, zeker voor een beginner. Is C++ te doen voor een beginneling of is het te hoog gegrepen en zou je beter met een taal kunnen beginnen waar het geheugen is afgeschermd? Of het valt het allemaal wel mee?
Voor C++ gekozen of met Java bezig? :P
pi_123127201
quote:
0s.gif Op woensdag 20 februari 2013 16:32 schreef t4rt4rus het volgende:

[..]

Voor C++ gekozen of met Java bezig? :P
Ik heb voor C++ gekozen. :)
Ben nu bezig de syntax te leren, maar ik heb het deze week best druk dus ik kan pas in het weekend weer aan de slag. :P
  woensdag 20 februari 2013 @ 20:07:41 #142
189216 netolk
maar dan andersom
pi_123131600
quote:
0s.gif Op woensdag 20 februari 2013 18:42 schreef ufopiloot12 het volgende:

[..]

Ik heb voor C++ gekozen. :)
Ben nu bezig de syntax te leren, maar ik heb het deze week best druk dus ik kan pas in het weekend weer aan de slag. :P
Goed zo ;)

Overigens is de syntax (vind ik) vrij logisch en duidelijk. Ook lijkt deze veel op bijvoorbeeld C en Java
Beware of the Raping Zebra's
  woensdag 20 februari 2013 @ 20:25:42 #143
12221 Tijn
Powered by MS Paint
pi_123132694
quote:
7s.gif Op donderdag 14 februari 2013 00:35 schreef trancethrust het volgende:

[..]

Als het wel een probleem is dan is geen enkele taal een goed alternatief; slimmer programmeren is dan beter.
Met andere talen kun je niet zo makkelijk een willekeurig stuk geheugen overschrijven. Je hebt een buffer overflow voordat je er erg in hebt en krijgt geen enkele waarschuwing hierover. Dat is het probleem voor beginners met C of C++.
  woensdag 20 februari 2013 @ 23:11:25 #144
189216 netolk
maar dan andersom
pi_123141796
quote:
2s.gif Op woensdag 20 februari 2013 20:25 schreef Tijn het volgende:

[..]

Met andere talen kun je niet zo makkelijk een willekeurig stuk geheugen overschrijven. Je hebt een buffer overflow voordat je er erg in hebt en krijgt geen enkele waarschuwing hierover. Dat is het probleem voor beginners met C of C++.
Klopt, maar dat zijn dingen die je een paar keer fout zal doen en dan heb je door hoe je zelf kan voorkomen dat het gebeurt en weet je dat je programma normaal gesproken crashed als je geheugen probeert te beschrijven wat niet "eigendom" van het programma is. (op Windows dan neem aan dat tegenwoordig elk besturingssysteem wel zoiets heeft)
Beware of the Raping Zebra's
pi_123143199
quote:
2s.gif Op woensdag 20 februari 2013 20:25 schreef Tijn het volgende:

[..]

Met andere talen kun je niet zo makkelijk een willekeurig stuk geheugen overschrijven. Je hebt een buffer overflow voordat je er erg in hebt en krijgt geen enkele waarschuwing hierover. Dat is het probleem voor beginners met C of C++.
Niet overschrijven van geheugen doet niets tegen memory leaks. Verder zijn buffer overflows niet de eerste dingen waar nieuwelingen overheen vallen; dat zijn de segfaults, en die krijg je vrijwel altijd direct in je gezicht. En dat is juist goed en leerzaam, m.i.
More oneness, less categories
Open hearts, no strategies
Decisions based upon faith and not fear
People who live right now and right here
pi_123156892
En verder moeten beginners de containers gebruiken, nog minder kans dat er iets fout kan gaan.
  vrijdag 22 februari 2013 @ 15:23:16 #147
189216 netolk
maar dan andersom
pi_123207190
quote:
2s.gif Op woensdag 20 februari 2013 23:40 schreef trancethrust het volgende:

[..]

Niet overschrijven van geheugen doet niets tegen memory leaks. Verder zijn buffer overflows niet de eerste dingen waar nieuwelingen overheen vallen; dat zijn de segfaults, en die krijg je vrijwel altijd direct in je gezicht. En dat is juist goed en leerzaam, m.i.
precies, en memory leaks is vooral niet vergeten je geheugen weer vrij te geven na gebruik (maw. gelijk na het maken van geheugen ook het vrijmaken van geheugen schrijven dan kan het eigenljik niet meer fout gaan)
Beware of the Raping Zebra's
pi_123209409
Maar daar hebben we deze hulp middelen dus voor:
Containers
http://en.cppreference.com/w/cpp/container

Dynamic memory management
http://en.cppreference.com/w/cpp/memory
pi_123260705
quote:
0s.gif Op woensdag 20 februari 2013 18:42 schreef ufopiloot12 het volgende:

[..]

Ik heb voor C++ gekozen. :)
Ben nu bezig de syntax te leren, maar ik heb het deze week best druk dus ik kan pas in het weekend weer aan de slag. :P
Al vragen over de syntax? :P
Verschil i++ en ++i snap je?

Wat valt er verder eigenlijk te leren over syntax?
  zondag 24 februari 2013 @ 13:57:58 #150
189216 netolk
maar dan andersom
pi_123274689
quote:
1s.gif Op zaterdag 23 februari 2013 23:45 schreef t4rt4rus het volgende:

[..]

Al vragen over de syntax? :P
Verschil i++ en ++i snap je?

Wat valt er verder eigenlijk te leren over syntax?
nou niet veel geloof ik zo...
De syntax is verder eigenlijk identiek aan andere talen (als bijv. Java)
Beware of the Raping Zebra's
pi_123277486
quote:
0s.gif Op zondag 24 februari 2013 13:57 schreef netolk het volgende:

[..]

nou niet veel geloof ik zo...
De syntax is verder eigenlijk identiek aan andere talen (als bijv. Java)
Dat is een vrij belangrijk, maar wel iet wat subtiel verschil. Het statement i++ zal de waarde van i ophogen met 1 en dan de oude waarde returnen. Het statement ++i doet het omgekeerde, die zal ook de waarde van i met 1 ophogen, maar daarna de opgehoogde waarde returnen.

Met andere woorden:

1
2
int i = 0, j = 0;
i = j++;
De waarde van i is nog steeds 0, de waarde van j is 1.

1
2
int i = 0, j = 0;
i = ++j;
De waarde van i en j is 1.
Op zondag 30 september 2012 02:37 schreef LompeHork het volgende:
ouyevoli vind ik wel kwaliteit.
Op woensdag 3 oktober 2012 23:15 schreef Bitterlemon het volgende:
Ik wil kwaliteit, waar is Ouyevoli?
pi_123277590
Wat dat betreft was het logischer geweest om de taal ++C te noemen in plaats van C++.
pi_123278869
Operator precedence kan je misschien wel wat mee
http://en.cppreference.com/w/cpp/language/operator_precedence
  zondag 24 februari 2013 @ 15:20:57 #154
12221 Tijn
Powered by MS Paint
pi_123279654
De onduidelijkheid van ++ is wat mij betreft een goede reden om die hele operator te mijden als het even kan. Ik schrijf liever i += 1, dan is het ten minste voor iedereen duidelijk wat er gebeurt.
pi_123281107
quote:
6s.gif Op zondag 24 februari 2013 15:20 schreef Tijn het volgende:
De onduidelijkheid van ++ is wat mij betreft een goede reden om die hele operator te mijden als het even kan. Ik schrijf liever i += 1, dan is het ten minste voor iedereen duidelijk wat er gebeurt.
En dan heb je natuurlijk ook dat wanneer je het vaker in een regel gebruikt, het vaak undefined is.
Maar in een for loop gebruik ik meestal wel gewoon ++i.
pi_123281845
quote:
1s.gif Op zaterdag 23 februari 2013 23:45 schreef t4rt4rus het volgende:

[..]

Al vragen over de syntax? :P
Verschil i++ en ++i snap je?

Wat valt er verder eigenlijk te leren over syntax?
De syntax is bijna hetzelfde als bij java, dus veel nieuws leer ik idd niet.
Ik ben nu bezig met pointers, echt vragen heb ik nog niet. :P
Weten jullie trouwens echt goede oefeningen om het programmeer gedeelte onder de knie te krijgen?
Het overtypen van voorbeelden is wel leuk, maar zelf aan de slag gaan werkt vast veel beter.

[ Bericht 10% gewijzigd door ufopiloot12 op 24-02-2013 16:08:05 ]
pi_123282493
quote:
0s.gif Op zondag 24 februari 2013 16:02 schreef ufopiloot12 het volgende:

[..]

De syntax is bijna hetzelfde als bij java, dus veel nieuws leer ik idd niet.
Ik ben nu bezig met pointers, echt vragen heb ik nog niet. :P
Weten jullie trouwens echt goede oefeningen om het programmeer gedeelte onder de knie te krijgen?
Het overtypen van voorbeelden is wel leuk, maar zelf aan de slag gaan werkt vast veel beter.
Jazeker: DIG / Project Euler
pi_123282513
quote:
0s.gif Op zondag 24 februari 2013 16:02 schreef ufopiloot12 het volgende:
Ik ben nu bezig met pointers, echt vragen heb ik nog niet. :P
Geen vragen over pointers? Dat kan bijna niet :P
quote:
Weten jullie trouwens echt goede oefeningen om het programmeer gedeelte onder de knie te krijgen?
Het overtypen van voorbeelden is wel leuk, maar zelf aan de slag gaan werkt vast veel beter.
Ja dat is lastig, dan moet je toch echt wat proberen zelf te maken.
pi_123282527
quote:
0s.gif Op zondag 24 februari 2013 16:14 schreef thabit het volgende:

[..]

Jazeker: DIG / Project Euler
Ohja dat hebben we natuurlijk ook nog :)
pi_123283340
quote:
0s.gif Op zondag 24 februari 2013 16:14 schreef t4rt4rus het volgende:

[..]

Geen vragen over pointers? Dat kan bijna niet :P

[..]

Ja dat is lastig, dan moet je toch echt wat proberen zelf te maken.
Ik heb gisteren het eerste gedeelte v.d. tutorial doorgelezen. De materie snap ik vooralsnog, maar ik heb nog niet alles gehad (verre van).
quote:
0s.gif Op zondag 24 februari 2013 16:14 schreef thabit het volgende:

[..]

Jazeker: DIG / Project Euler
Interessant, bedankt!
pi_123283809
quote:
0s.gif Op zondag 24 februari 2013 16:27 schreef ufopiloot12 het volgende:
Ik heb gisteren het eerste gedeelte v.d. tutorial doorgelezen. De materie snap ik vooralsnog, maar ik heb nog niet alles gehad (verre van).
Welke lees je dan?
pi_123283880
quote:
0s.gif Op zondag 24 februari 2013 16:35 schreef t4rt4rus het volgende:

[..]

Welke lees je dan?
http://www.cplusplus.com/doc/tutorial/pointers/
Ik zoek eigenlijk iets meer naar de richting van codecademy, maar dan zou ik toch echt boeken moeten aanschaffen denk ik.
pi_123284034
quote:
0s.gif Op zondag 24 februari 2013 16:37 schreef ufopiloot12 het volgende:

[..]

http://www.cplusplus.com/doc/tutorial/pointers/
Ik zoek eigenlijk iets meer naar de richting van codecademy, maar dan zou ik toch echt boeken moeten aanschaffen denk ik.
Ohje het is cplusplus.com...

Pak een goed boek :P
pi_123284093
quote:
0s.gif Op zondag 24 februari 2013 16:40 schreef t4rt4rus het volgende:

[..]

Ohje het is cplusplus.com...

Pak een goed boek :P
Daar was ik al bang voor. :P
Suggesties?
pi_123284785
quote:
0s.gif Op zondag 24 februari 2013 16:41 schreef ufopiloot12 het volgende:

[..]

Daar was ik al bang voor. :P
Suggesties?
http://jcatki.no-ip.org/fncpp/Resources

Hoewel dat basic spul van cplusplus je misschien eerst ook nog wel kan helpen.
Maar daar zie ik op de pagina over pointers ook een stukje over "void pointers". Dat moet je dus gewoon niet gebruiken, vooral niet als beginner.
Maar het misschien dat je het concept pointer wel begrijpt door die pagina.

Bij de cursus c++ die ik deed kregen lazen we het boek van de professor.
http://www.icce.rug.nl/documents/cplusplus/cplusplus.html
Die gaat er echter wel vanuit dat je wat C kan, maar hoeft geen belemmering te zijn.
pi_123284918
quote:
0s.gif Op zondag 24 februari 2013 16:54 schreef t4rt4rus het volgende:

[..]

http://jcatki.no-ip.org/fncpp/Resources

Hoewel dat basic spul van cplusplus je misschien eerst ook nog wel kan helpen.
Maar daar zie ik op de pagina over pointers ook een stukje over "void pointers". Dat moet je dus gewoon niet gebruiken, vooral niet als beginner.
Maar het misschien dat je het concept pointer wel begrijpt door die pagina.

Bij de cursus c++ die ik deed kregen lazen we het boek van de professor.
http://www.icce.rug.nl/documents/cplusplus/cplusplus.html
Die gaat er achter wel vanuit dat je wat C kan, maar hoeft geen belemmering te zijn.
Bedankt :)
pi_123285134
Hier stukje over cplusplus.com
http://jcatki.no-ip.org/fncpp/cplusplus.com

Ohja en "using namespace std" vind niet iedereen leuk :P
(ik ook niet...)
pi_123285659
quote:
0s.gif Op zondag 24 februari 2013 17:01 schreef t4rt4rus het volgende:
Hier stukje over cplusplus.com
http://jcatki.no-ip.org/fncpp/cplusplus.com

Ohja en "using namespace std" vind niet iedereen leuk :P
(ik ook niet...)
Dat zit er bij mij nu wel een beetje ingeprent, haha.
Zonder ook te weten waarvoor het dient. _O-

Ik ga dat eventjes doorlezen.
pi_123285757
quote:
0s.gif Op zondag 24 februari 2013 17:11 schreef ufopiloot12 het volgende:

[..]

Dat zit er bij mij nu wel een beetje ingeprent, haha.
Zonder ook te weten waarvoor het dient. _O-

Ik ga dat eventjes doorlezen.
Namespaces
http://www.icce.rug.nl/documents/cplusplus/cplusplus04.html
pi_123286472
quote:
Nu ik dat stukje over cplusplus heb gelezen begin denk ik maar weer van voor af aan met een van jouw aanbevelingen. Aangezien ik een paar hele foute dingen heb geleerd. :X
pi_123286676
quote:
0s.gif Op zondag 24 februari 2013 17:26 schreef ufopiloot12 het volgende:

[..]

Nu ik dat stukje over cplusplus heb gelezen begin denk ik maar weer van voor af aan met een van jouw aanbevelingen. Aangezien ik een paar hele foute dingen heb geleerd. :X
Zoals? :)

Maar als je dus referenties nodig hebt kan je beter op
http://en.cppreference.com/w/ kijken dan op cplusplus.com
  zondag 24 februari 2013 @ 17:40:22 #172
12221 Tijn
Powered by MS Paint
pi_123287262
Klinkt alsof cplusplus.com voor C++ is wat w3schools voor HTML, CSS en Javascript is.
pi_123287313
quote:
6s.gif Op zondag 24 februari 2013 17:40 schreef Tijn het volgende:
Klinkt alsof cplusplus.com voor C++ is wat w3schools voor HTML, CSS en Javascript is.
Hèhè
pi_123287713
quote:
0s.gif Op zondag 24 februari 2013 17:30 schreef t4rt4rus het volgende:

[..]

Zoals? :)

Maar als je dus referenties nodig hebt kan je beter op
http://en.cppreference.com/w/ kijken dan op cplusplus.com
Namespaces, ik moet dat even rephrasen. Er worden belangrijke dingen blijkbaar niet vertelt. Het is niet toereikend dus.

[ Bericht 0% gewijzigd door ufopiloot12 op 24-02-2013 18:58:26 ]
pi_123293076
Thinking in C++ is ook een erg mooie: http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

Boek is gratis te krijgen in PDF; een van de html versies:

http://www.smart2help.com(...)-vol-one/Frames.html
More oneness, less categories
Open hearts, no strategies
Decisions based upon faith and not fear
People who live right now and right here
pi_124463477
Ik ga toch een begin maken aan Accelerated C++.

Jullie zullen misschien nog van me horen hier.
pi_124463733
quote:
7s.gif Op zondag 24 maart 2013 22:07 schreef robin007bond het volgende:
Ik ga toch een begin maken aan Accelerated C++.

Jullie zullen misschien nog van me horen hier.
Leuk ufo was ook begonnen, geen idee of die nog bezig is...
quote:
0s.gif Op zondag 24 februari 2013 17:49 schreef ufopiloot12 het volgende:

[..]

Namespaces, ik moet dat even rephrasen. Er worden belangrijke dingen blijkbaar niet vertelt. Het is niet toereikend dus.
pi_124465082
quote:
0s.gif Op zondag 24 maart 2013 22:11 schreef t4rt4rus het volgende:

[..]

Leuk ufo was ook begonnen, geen idee of die nog bezig is...

[..]

Ik ben de laatste tijd idd met wat andere dingen bezig geweest. :P Ik ben gisteren eens wezen kijken naar boeken, die hier werden aangeraden en dit leek mij wel een redelijke. Ik heb hoofdstuk 1 maar overgeslagen en heb al vluchtig hoofdstuk 2 doorgekeken aangezien hier ook niet veel nieuws in kwam. http://www.smart2help.com(...)-vol-one/Frames.html
pi_124466189
quote:
0s.gif Op zondag 24 februari 2013 17:01 schreef t4rt4rus het volgende:
Hier stukje over cplusplus.com
http://jcatki.no-ip.org/fncpp/cplusplus.com

Ohja en "using namespace std" vind niet iedereen leuk :P
(ik ook niet...)
Ik doe altijd "using std::cout" "using std::endl" etc.

Als ik meerdere namespaces zou gebruiken en twee methoden hebben dezelfde naam, dan hang je al bijvoorbeeld.
pi_124469627
quote:
0s.gif Op zondag 24 maart 2013 22:47 schreef robin007bond het volgende:

[..]

Ik doe altijd "using std::cout" "using std::endl" etc.

Als ik meerdere namespaces zou gebruiken en twee methoden hebben dezelfde naam, dan hang je al bijvoorbeeld.
Yey iemand die het snapt. :p
  maandag 25 maart 2013 @ 07:55:04 #181
189216 netolk
maar dan andersom
pi_124472897
quote:
0s.gif Op zondag 24 maart 2013 22:47 schreef robin007bond het volgende:

[..]

Ik doe altijd "using std::cout" "using std::endl" etc.

Als ik meerdere namespaces zou gebruiken en twee methoden hebben dezelfde naam, dan hang je al bijvoorbeeld.
nah, zo heel veel gebruik ik dat nou ook weer niet en dan type ik gewoon std::cout als ik hem nodig heb..

en std::endl doe ik niet aan vind '\n' genoeg
Beware of the Raping Zebra's
pi_124477267
quote:
0s.gif Op maandag 25 maart 2013 07:55 schreef netolk het volgende:

[..]

nah, zo heel veel gebruik ik dat nou ook weer niet en dan type ik gewoon std::cout als ik hem nodig heb..

en std::endl doe ik niet aan vind '\n' genoeg
Zelfde hier.
pi_124482335
1
2
3
4
5
6
7
8
9
10
 int main ()
{
   vector<string> words;
  ifstream in (" GetWords.cpp");
 string word;
  while ( in >> word)
        words.push_back(word);
  for ( int i = 0; i < words.size(); i++)
    cout << words [i] << endl;
}

Ik krijg hier de error: " comparison between signed and unsigned integer expressions" bij regel acht, maar ik weet niet echt waar ik de fout in ga. Waarschijnlijk bij words.size, maar hoe moet ik dat verhelpen?
pi_124484837
quote:
0s.gif Op maandag 25 maart 2013 14:02 schreef ufopiloot12 het volgende:

[ code verwijderd ]

Ik krijg hier de error: " comparison between signed and unsigned integer expressions" bij regel acht, maar ik weet niet echt waar ik de fout in ga. Waarschijnlijk bij words.size, maar hoe moet ik dat verhelpen?
1for (size_t i = 0; i < words.size(); ++i)
;)

vector::size() returnt een size_t, dit is een unsigned integer type.

-edit-
En in het vervolg wanneer je van dit soort for loops doet,
gebruik altijd std::size_t.

Daarnaast kan je natuurlijk ook gewoon dit doen:
1
2
for (auto const &e : words)
    std::cout << e << std::endl;
pi_124485571
quote:
0s.gif Op maandag 25 maart 2013 15:02 schreef t4rt4rus het volgende:

[..]
[ code verwijderd ]

;)

vector::size() returnt een size_t, dit is een unsigned integer type.

-edit-
En in het vervolg wanneer je van dit soort for loops doet,
gebruik altijd std::size_t.

Daarnaast kan je natuurlijk ook gewoon dit doen:
[ code verwijderd ]

Bedankt!
pi_124491591
quote:
0s.gif Op maandag 25 maart 2013 15:18 schreef ufopiloot12 het volgende:

[..]

Bedankt!
Wat dat trouwens ook kan doen iterators gebruiken:
1
2
for (auto it = words.begin(); it != words.end(); ++it)
    std::cout << *it << '\n';
pi_124491737
quote:
1s.gif Op maandag 25 maart 2013 18:09 schreef t4rt4rus het volgende:

[..]

Wat dat trouwens ook kan doen iterators gebruiken:
[ code verwijderd ]

Hmm, dit is eigenlijk een stuk fijner te lezen. Veel mooier ook.
Hier ga ik morgen eens naar kijken. :)
pi_124494090
quote:
1s.gif Op maandag 25 maart 2013 18:09 schreef t4rt4rus het volgende:

[..]

Wat dat trouwens ook kan doen iterators gebruiken:
[ code verwijderd ]

Dat is nog eens mooi gebruik van auto.
More oneness, less categories
Open hearts, no strategies
Decisions based upon faith and not fear
People who live right now and right here
pi_124496766
quote:
14s.gif Op maandag 25 maart 2013 19:11 schreef trancethrust het volgende:

[..]

Dat is nog eens mooi gebruik van auto.
std::vector<std::string>::iterator is een beetje lang. :P
auto :D

-edit-
words.cbegin() en words.cend() is hier misschien nog wel beter.
Krijg je altijd een const_iterator
pi_124497748
quote:
0s.gif Op maandag 25 maart 2013 20:01 schreef t4rt4rus het volgende:

[..]

std::vector<std::string>::iterator is een beetje lang. :P
auto :D

-edit-
words.cbegin() en words.cend() is hier misschien nog wel beter.
Krijg je altijd een const_iterator
Exactemundo; dit vergroot de leesbaarheid behoorlijk. Voorheen was ik totaal niet overtuigd van het nut van auto.
More oneness, less categories
Open hearts, no strategies
Decisions based upon faith and not fear
People who live right now and right here
pi_124638451
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>

int main(){
int grade;
int gradeTotal = 0;
int NumberOfPeople = 0;

while(grade!=-1)
{
    std::cout << "Enter a grade or enter -1 to calculate average grade"<< std::endl;
    std::cin>>grade;
    gradeTotal+= grade;
    NumberOfPeople++;
}
if(gradeTotal == 0){
    std::cout <<" The sum of your grades is 0, that can't be right!"<< std::endl;
    std::cout <<" Enter a number";
    std::cin>>grade;
}
std::cout<< "The average grade is: "<< gradeTotal/NumberOfPeople<<std::endl;
return 0;

}

Ik heb een programma gemaakt die het gemiddelde van een som van een x aantal cijfers uitrekent. Alles werkt prima, geen errors, maar mijn if statement werkt niet. Wat doe ik fout?
  vrijdag 29 maart 2013 @ 11:02:03 #192
12221 Tijn
Powered by MS Paint
pi_124638624
quote:
0s.gif Op vrijdag 29 maart 2013 10:55 schreef ufopiloot12 het volgende:

[ code verwijderd ]

Alles werkt prima
Nou...

1
2
3
4
5
6
7
8
9
~$ ./grade
Enter a grade or enter -1 to calculate average grade
1
Enter a grade or enter -1 to calculate average grade
9
Enter a grade or enter -1 to calculate average grade
-1
The average grade is: 3
~$
pi_124638679
quote:
10s.gif Op vrijdag 29 maart 2013 11:02 schreef Tijn het volgende:

[..]

Nou...
[ code verwijderd ]

Ja ik heb wel wat zitten klooien toen ik dit op fok zette. Net deed hij het echt! :')
edit: bij nader inzien klopt er geen kut van mijn code. ;(

[ Bericht 5% gewijzigd door ufopiloot12 op 29-03-2013 11:11:10 ]
  vrijdag 29 maart 2013 @ 11:24:39 #194
12221 Tijn
Powered by MS Paint
pi_124639194
Het probleem is natuurlijk dat je de input "-1" ook meetelt in het berekenen van het gemiddelde.
pi_124639280
quote:
2s.gif Op vrijdag 29 maart 2013 11:24 schreef Tijn het volgende:
Het probleem is natuurlijk dat je de input "-1" ook meetelt in het berekenen van het gemiddelde.
Aha, bedankt!

Ik heb het nu zo opgelost:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>

int main(){
int grade;
int gradeTotal = 0;
int NumberOfPeople = 0;

while(grade!=-1)
{
    std::cout << "Enter a grade or enter -1 to calculate average grade"<< std::endl;
    std::cin>>grade;
    gradeTotal += grade;
    NumberOfPeople++;
}

std::cout << "Your average grade is: "<<++gradeTotal/--NumberOfPeople<<std::endl;
return 0;

}
Weten jullie misschien een betere manier, want ik los het probleem hier niet ECHT mee op.

[ Bericht 27% gewijzigd door ufopiloot12 op 29-03-2013 11:45:48 ]
pi_124641510
quote:
0s.gif Op vrijdag 29 maart 2013 11:27 schreef ufopiloot12 het volgende:

[..]

Aha, bedankt!

Ik heb het nu zo opgelost:
[ code verwijderd ]

Weten jullie misschien een betere manier, want ik los het probleem hier niet ECHT mee op.
Je kan bijvoorbeeld zoiets doen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>

double average(std::vector<size_t> const &vec)
{
   size_t total = 0;
   
   for (auto &e : vec)
      total += e;
      
   return static_cast<double>(total) / vec.size();
}

int main()
{
   std::vector<size_t> grades;
   
   size_t grade;
   while (std::cin >> grade)
      grades.push_back(grade);
      
   std::cout << average(grades) << '\n';
}
pi_124641663
quote:
0s.gif Op vrijdag 29 maart 2013 12:42 schreef t4rt4rus het volgende:

[..]

Je kan bijvoorbeeld zoiets doen:
[ code verwijderd ]

Double is idd een betere type. Ik heb nog niet over vectors gelezen, daar ga ik nog eens naar kijken.
Bedankt!
pi_124642089
quote:
0s.gif Op vrijdag 29 maart 2013 12:47 schreef ufopiloot12 het volgende:

[..]

Double is idd een betere type. Ik heb nog niet over vectors gelezen, daar ga ik nog eens naar kijken.
Bedankt!
De vector kan je er hier natuurlijk helemaal uit halen.
Maar was meer een voorbeeld dat je de getallen aan een functie geeft die je dan het gemiddelde geeft.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>

int main()
{
    size_t num_grades = 0;
    size_t total = 0;

    size_t grade;
    while (std::cin >> grade)
    {
        total += grade;
        ++num_grades;
    }
    double average = static_cast<double>(total) / num_grades;

    std::cout << average << '\n';
}

-edit-

Als je wil dat hij bijvoorbeeld stopt bij een negatief getal, kan je dit doen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>

int main()
{
    size_t num_grades = 0;
    size_t total = 0;

    int grade;
    while (std::cin >> grade)
    {
        if (grade < 0)
            break;

        total += grade;
        ++num_grades;
    }
    double average = static_cast<double>(total) / num_grades;

    std::cout << average << '\n';
}
pi_124642359
quote:
0s.gif Op vrijdag 29 maart 2013 13:00 schreef t4rt4rus het volgende:

[..]

De vector kan je er hier natuurlijk helemaal uit halen.
Maar was meer een voorbeeld dat je de getallen aan een functie geeft die je dan het gemiddelde geeft.
[ code verwijderd ]

-edit-

Als je wil dat hij bijvoorbeeld stopt bij een negatief getal, kan je dit doen:
[ code verwijderd ]

Duidelijk. Ik had al in gedachten dat het ook met een if statement zou moeten kunnen, maar ik wist niet precies hoe. :P
  vrijdag 29 maart 2013 @ 13:10:36 #200
12221 Tijn
Powered by MS Paint
pi_124642488
quote:
0s.gif Op vrijdag 29 maart 2013 13:06 schreef ufopiloot12 het volgende:

[..]

Duidelijk. Ik had al in gedachten dat het ook met een if statement zou moeten kunnen, maar ik wist niet precies hoe. :P
Ik denk dat je beter eerst goed kan leren hoe de if-statement werkt voordat je met loops aan de gang gaat.

Je zou bijvoorbeeld als oefening een programma kunnen maken dat 3 ingevoerde getallen sorteert van laag naar hoog zonder loops te gebruiken, maar puur met if-statements.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')