Aktuelle Zeit: 05.01.2025, 00:13

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: 25.01.2009, 17:13 
Offline

Registriert: 23.04.2007, 20:02
Beiträge: 73
Hallo,

Ich würde gerne wissen, was folgende Zeile bedeutet:

Code:
      driver->setRenderTarget(PostProcessingRoutinesSize
      ? ScreenRTT : outputTarget, true, true, SColor(0x0));


Ich weis was setRenderTarget bewirkt, ich bin mir jedoch
um diesen:
Code:
PostProcessingRoutinesSize ? ScreenRTT : outputTarget
Teil im Unklaren.

Kann mir jemand helfen ?


Nach oben
 Profil  
 
BeitragVerfasst: 25.01.2009, 17:21 
Offline

Registriert: 21.12.2008, 16:13
Beiträge: 15
Code:
PostProcessingRoutinesSize ? ScreenRTT : outputTarget

ist wie eine if anweisung also
Code:
if(PostProcessingRoutinesSize){ ScreenRTT }else{ outputTarget }


mfg
FleX


Nach oben
 Profil  
 
BeitragVerfasst: 26.01.2009, 08:26 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Na ja, die folgende Anweisung macht das Selbe:

Code:

if (PostProcessingRoutinesSize)
  driver->setRenderTarget(ScreenRTT, true, true, SColor(0x0));
else
  driver->setRenderTarget(outputTarget, true, true, SColor(0x0));


der "?" Operator in C ist eine nette Sache. Mit Bedacht eingesetzt mach er imho den Code deutlich lesbarer, aber man muss vorsichtig sein: wenn man ihn zu oft benutzt (und komplexeren Sachen), dann macht man seinen Code unwartbar. Ich nehms (auch in der Arbeit) häufig für solche Sachen her:

Code:
printf("string=\"%s\"\n",myString?myString:"NULL"); //für Debugausgaben


alternativ wäre auch

Code:
if (myString!=NULL)
  printf("string=\"%s\"\n",myString);
else
  printf("string=\"NULL\");


möglich. Oder bei Return-Statements:

Code:
void *getElementAt(unsigned idx) {
  return idx<myList.getSize()?myList[idx]:NULL;
}


Ich hoffe, mit den Beispielen erklärt sich das Ganze ein bisschen.

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 26.01.2009, 15:59 
Offline

Registriert: 23.04.2007, 20:02
Beiträge: 73
Ah danke!
Jetzt hab ichs gecheckt.


Nach oben
 Profil  
 
BeitragVerfasst: 27.01.2009, 07:34 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
C und C++ sind imho wunderbare Sprachen. Da kann man lustig Sachen mit machen. Ich muss mal Suchen: während des Studiums (im 2. Semester) hatte der Prof in seinem C-Skript ein Beispielprogramm: Lösung des N-Damen Problems in 4 Zeilen. Damals bin ich daran gescheitert, aber vielleicht würde ich es jetzt ja verstehen. Wenn ich das Ganze recht in Erinnerung hab, dann waren da auch viele "?" drin ... aber ich war jung und dumm ;).

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 27.01.2009, 23:09 
Offline
Benutzeravatar

Registriert: 11.01.2009, 19:31
Beiträge: 18
Wohnort: ffm
je nachem kann man das ganze dann auch echt low machen, defines haben mir da manche arbeit versüßt :
Code:
#define OO00O do
#define O00O0 if
#define OO0OO char
#define O0O00 !*
#define O0O0O PatternStr
#define OOOO0 str
#define O0OOO while
#define OO0O0 return

int OOO0O(OO0OO*OOOO0,OO0OO*O0O0O){OO00O{switch(*O0O0O){case'*':{OO00O{O00O0(*(++O0O 0O)=='?')OOOO0++;else O00O0(*O0O0O!='*')break;}O0OOO(*O0O0O&&*OOOO0);O00O0(O0O00 O0O0O)OO0O0!O0O00 OOOO0;O0OOO(*OOOO0){O00O0(*OOOO0==*O0O0O)O00O0(OOO0O(OOOO0,O0O0O))OO0O0 1;OOOO0++;};OO0O0 0;}break;case'?':{O0O0O++;OOOO0++;}break;default:{O00O0(*OOOO0!=*O0O0O)OO0O0 0;OOOO0++;O0O0O++;}}}O0OOO(*OOOO0&&*O0O0O);O0OOO(*O0O0O&&O0O00 OOOO0)O00O0(*O0O0O++!='*')OO0O0 0;OO0O0!(*OOOO0|*O0O0O);}

das oben besteht aus Os und NULLen ^^ sieht man nicht so... was ja der sinn ist im endeffekt :P

...hier ist das dame problem wenn ich richtig liege, hab das nur so auf die schnelle gesucht:
Code:
int r=n%12,rtn=((r%3)+(1&~r)+1)==0?1:0;
for(int i=0,g=n==1?n:0,rt=r==2?1:0,sw=(r==8?2:0);i{n;g=i+++1{n}}1?0:1,sw=-sw)
result[i]=g}0?(r==2?(((((i-(n}}1)){{1)+1{4)&&(n}2))?4-(((i-(n}}1)){{1)+1):n}2?2: 1+(((i-(n}}1)){{1)+1)+(i+1==n?5:0)):((((i-(n}}1)){{1)+1)+(rtn{{2)))%(n+1):(((i+1 )*2+(rtn{{1))%((i{(n}}1)-1)?n{{3:(n&~1)+(rtn^1)));
return result;

...aber auch ganz nett, auch wenn ich heute nicht mehr ein stück davon nachvollziehen kann ^^


Zuletzt geändert von psychophoniac am 28.01.2009, 09:17, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
BeitragVerfasst: 28.01.2009, 07:57 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Lol ... ganz so kryptisch war die Lösung von meinem Prof nicht. Leider hält der Prof die "Programmieren in C/C++" Vorlesung nicht mehr, deswegen gibts sein Skript auch nicht mehr, und ich hab nach dem Studium alle Skripten feierlich verbrannt ... die Grundlagen sind mir mittlerweile auch ohne Nachlesen klar ;)

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 04.05.2009, 16:41 
Offline
Benutzeravatar

Registriert: 24.04.2009, 11:25
Beiträge: 14
Kein Plan was du da oben hast, aber das Dame Problem wird hiermit gelöst:

Code:
v,i,j,k,l,s,a[99]; main() for(scanf("%d",&s);*a-s;v=a[j*=v]-a[i],k=i=s*k&&++a[--i]);


Das weiß ich, weil ich das schon seit etlichen Jahren in einem meiner Profile stehen hab ;)


Nach oben
 Profil  
 
BeitragVerfasst: 04.05.2009, 20:53 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
So Leute,

nun noch für den ganz Dummen, mich :-)

Was ist das Dame Problem?
Etwa Computer gestütze Partnervermittlung?

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
BeitragVerfasst: 05.05.2009, 06:45 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
http://lmgtfy.com/?q=damenproblem

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
BeitragVerfasst: 05.05.2009, 12:45 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
http://lmgtfy.com/ ECHT GEILE SEITE :D

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
BeitragVerfasst: 05.05.2009, 14:53 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
http://live.lmgtfy.com/
sehr gut gegen langeweile.

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de