For Schleife
-
Hallo,
naja es ist eigentlich kein Problem aber es geht um optimierung.
In der Aufgeabnstellung wurde gesagt das das Problem mit einer for schleife zu lösen wäre.MEHR nicht.also bin ich mir nicht sicher ob die das auch NUR MIT EINER FOR SCHLEIFE gelöst haben wollen oder ob auch ne if anweiung da rein darf.ich habe das ganze so gelöst:#include <iostream.h> int main() { for (int Wert = 0; Wert < 100; Wert++) { cout << Wert + 1; if(Wert != 100 - 1) { cout<<","; } } char p[50]; cin.getline(p, 50); }
das programm macht nichts anderes als von 1 bis hundert raufzuzählen und nach der 100 kein komma mehr auszugeben.ich hab das dann mit einer if verzweigung gelöst.geht das eigentlich auch ohne sondern NUR mit einer for schleife?
-
Nja dein Code ist weder richtig noch sonderlich optimiert:
#include <iostream> const std::size_t element_count = 100; int main() { unsigned short arr[element_count]; for (unsigned short i = 0; i < element_count; ++i) arr[i] = (i + 1); std::copy(arr, arr + element_count, std::ostream_iterator<unsigned short>(std::cout, ", ")); }
... wobei du element_count überall einfach durch ihren Wert ersetzen kannst ...
-
ach ja....was ich vielelicht dazu sagen sollte...es SIND keine arrays erlaubt..daran hatte ich auch schon gedacht aber es sind die grundlegenden dinge die gefragt werden und damit die die es überprüfen nicht so gefordert sind soll es so einfach wie möglich ausfallen(so stehts in der aufgabe)
-
#include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { for (int Wert = 1; Wert <= 100; Wert++){ cout<< Wert ; if(Wert<100) cout<<","; } return 0; }
Mal davon abgesehen dass du ins falsche Forum postest.
-
Nur so BTW, ist nicht soo wichtig aber ich würde hier:
(D)Evil schrieb:
const std::size_t element_count = 100;
nicht mit der globalen Variable arbeiten (wozu?) ... aber wie gesagt, bitte nicht ernst nehmen
und hier:
(D)Evil schrieb:
for (unsigned short i = 0; i < element_count; ++i)
arr[i] = (i + 1);[/cpp]muss man IMHO den Postfix-Incrementoperator verwenden (kein Präfix, da der sonst bei 1 anfangen würde, kann mich aber auch irren
).
@Kuldren: Warum verwendest Du _tmain und TCHAR wenn Du schreibst:
Kuldren schrieb:
cout<<",";
-
seit wann gibts in der WinAPI cout^^
-
es geht ohne 'if'
int main() { int Wert; for (Wert = 1; Wert < 100; Wert++) cout << Wert << ','; cout << Wert; }
-
Hmm @pale dog: genial
Oder auch nicht
nicht mit der globalen Variable arbeiten (wozu?) ... aber wie gesagt, bitte nicht ernst nehmen
wobei du element_count überall einfach durch ihren Wert ersetzen kannst
... hab es nur gemacht, damit er weißt woher der Wert jeweils kommt.
muss man IMHO den Postfix-Incrementoperator verwenden (kein Präfix, da der sonst bei 1 anfangen würde, kann mich aber auch irren
).
Du irrst.
@Kuldren: Warum verwendest Du _tmain und TCHAR wenn Du schreibst:
Kuldren schrieb:
std::cout << ",";
...
Hmm ... es gibt (soweit ich es jetzt weiß ... nutz es eigentlich dafür zu selten ...) kein tcout ... d.h. müsstest du dir schon cout als std::cout bzw std::wcout definieren und dann kannst du auch TEXT(",") nehmen ... d.h. eigentlich macht dieses _tmain sowieso wenig Sinn.
-
es geht vernebelt ohne if :
int main () { int Wert = 0; for ( cout << ++Wert; Wert < 100; cout << ++Wert ) { cout << ','; } }
-
(D)Evil schrieb:
Oder auch nicht
mecker nicht, dein versuch ist sogar falsch (ein ',' am ende zuviel)
-
@secondsun@gmx.de:
Lass dich hier nicht vollabern, der Code ist schon OK so. Ich würde zwar auch "for(int Wert = 1; Wert <= 100; Wert++)" schreiben, aber egal.BTW: wenn das deine echte Email Adresse ist bereite dich schonmal darauf vor Massenweise Spam zu bekommen... seine Email Adresse schreibt man nicht ins WWW.
@(D)Evil:
Dein Code ist aber auch weit davon weg optimiert zu sein, und es würde mich nicht wundern wenn er 10 mal langsamer als der Code im Kopfposting ist.
Ganz davon abgesehen dass es hier wohl komplett egal ist wie "optimiert" der Code ist, geht ja um nix.
*wunder*
-
Hab den for-Schleifen Code eigentlich nur schnell in ne Standardkonsolenanwendung reingeklopft damit ich keine Syntaxfehler drin hab...daher das _tmain
Eigentlich gings mir nur um den inneren Teil; also die Schleife
-
hustbaer schrieb:
BTW: wenn das deine echte Email Adresse ist bereite dich schonmal darauf vor Massenweise Spam zu bekommen... seine Email Adresse schreibt man nicht ins WWW.
Der Link geht nicht.