auf zeit reagieren
-
hi leute
wie kann man auf die zeit(sekunden) zugreifen?
z.b. das jede sekunde etwas ausgegeben wird
und wie kann man zufallszahlen erstellen?
danke für jede hilfe
und gibt es eine möglichkeit die größe eines arrays während der laufzeit zu verändern? geht das mit zeigern?
-
Hallo dies ist wieder eine compilerspezifische Frage. Nicht alle Compiler
haben die entsprechenden Befehle komplett implementiert. Bei Zufallszahlen
such mal in der Hilfe oder in den Beispielen nach 'random' oder 'randmize'.MfG f.-th.
-
nein.
erstmal: es gibt keine befehle in c oder c++.
zweitens: der einfach zufall ist mit standardmitteln herzustellen, und den fahren (hoffentlich) alle compiler
#include <stdlib.h> #include <stdio.h> #include <time.h> int main( void ) { int i; /* Seed the random-number generator with current time so that * the numbers will be different every time we run. */ srand( (unsigned)time( NULL ) ); /* Display 10 numbers. */ for( i = 0; i < 10;i++ ) printf( " %6d\n", rand() ); }
mal eben geklaut aus der msdn
-
DeathRow schrieb:
hi leute
wie kann man auf die zeit(sekunden) zugreifen?
z.b. das jede sekunde etwas ausgegeben wirdZeitlich abhängige Aktionen lassen sich sehr elegant mit den Funktionen CreateTimerQueue und CreateTimerQueueTimer umsetzen.
Diese Funktionen setzen allerdings nen aktuelles SDK und ne Windows Version ab 2000 prof. aufwärts voraus.Nen dreckiges Beispiel bei dem sowohl der primäre Thread als auch die,in einem eigenen Thread laufende,Callback Funktion mittels cout was ausgeben.Es kann also vorkommen dass da nen MischMasch bei rauskommt aber es geht ja ums Prinzip....
//aktuelles SDK notwendig! #define _WIN32_WINNT 0x0501 #include <iostream> #include <windows.h> #include <conio.h> VOID CALLBACK TimerFunktion(PVOID lpParameter,BOOLEAN tORw) { SYSTEMTIME st; GetLocalTime(&st); //Zugriff auf cout ist nicht synchronisiert std::cout<<st.wHour<<':'<<st.wMinute<<':'<<st.wMilliseconds<<std::endl; } int main() { HANDLE hTQ=NULL; HANDLE hTQT=NULL; hTQ = CreateTimerQueue(); CreateTimerQueueTimer(&hTQT,hTQ,TimerFunktion,NULL,1000,1000,WT_EXECUTEINIOTHREAD); while(!_kbhit()) { std::cout<<"Ich bin der primaere Thread und koennte noch was machen wenn ich wollte!"<<std::endl; Sleep(500); } if(DeleteTimerQueueEx(hTQ,INVALID_HANDLE_VALUE)) std::cout<<"TimerQueue wurde geloescht!"<<std::endl; getch(); return 0; }
DeathRow schrieb:
und gibt es eine möglichkeit die größe eines arrays während der laufzeit zu verändern? geht das mit zeigern?
Sofern du mit C++ arbeitest nimm nen vector.
MfG Spacelord
-
danke für die tipps spacelord