WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   QuellCode, ich hasse, dass ich C/C++ oder die Logik noch nicht gut durchschaue! (http://www.wcm.at/forum/showthread.php?t=48610)

kikakater 05.03.2002 19:49

@wizo: brauchst dich nicht entschuldigen wegen dem elseif ;) , zu dem operator !:

Der hat die Bedeutung der logischen Verneinung, also: Wenn man ein Beispiel verwendet:

(x==y) ... Verneinung: (x!=y), zweite Situation:

(x) bedeutet wahr wenn x ungleich 0 ist

(!x) bedeutet wahr wenn x not ungleich sprich gleich 0 ist

So, das wär's wieder einmal ...

mfg
Kikakater

wizo 05.03.2002 19:57

c ist schon cool was man da in kurz schreibweise realisieren kann
eigentlich war es eh irgendwie klar wenn man drüber nachdenkt
und den code verkürzt

3of4 05.03.2002 22:13

ich hatte so was ähnliches letztes Jahr rekursiv gelöst, kriegs aber jetzt nicht hin, werd versuchen es dir bis morgen fertig zu stellen ;-)

3of4 05.03.2002 22:25

#include<stdio.h>
#include<conio.h>

int a=0,b;
int getbiggest(int d);
void main(){

printf(„%d“,getbiggest(kleinsterIntegerwert));
}
int getbiggest(int d){
a++;
printf(„Bitte %d . Zahl eingeben“);
scanf(„%d“, b);
if(b>d){
return getbiggest(b);
}
if(b<d){
return getbiggest(d);
}
}

Stona 05.03.2002 22:27

Zitat:

Original geschrieben von wizo
c ist schon cool was man da in kurz schreibweise realisieren kann
eigentlich war es eh irgendwie klar wenn man drüber nachdenkt
und den code verkürzt

elsif....

VHDL lässt Grüssen ;)

jaja, das verwirrt schon *g*

3of4 05.03.2002 22:29

ich schaff es 1. im Moment irgendwie nicht das mit dem Fall das 2, oder 3 gleich sind, oder dürft ihr auch arrays nützen?

2) Wieso will der meine Leerzeichen zum Einrücken nicht, habs extra aus msWord rüberkopiert, und jetzt so eine schiache Wurscht :( :( :(

wizo 06.03.2002 00:07

na klar das du das wissen mußt
und hast natürlich recht

Sonic 06.03.2002 12:50

Zitat:

Original geschrieben von Professor Mailbomber
2) Wieso will der meine Leerzeichen zum Einrücken nicht, habs extra aus msWord rüberkopiert, und jetzt so eine schiache Wurscht :( :( :(
Du musst den [code] tag benutzen.
Also vor deinem source [code] und nachher [/ CODE]. (ohne dem leetzeichen!)

lg

JosefS 06.03.2002 13:46

Warum so kompliziert?

Code:

#include <stdio.h>

void main()
{
    int a, b, c, x;

    scanf("%d", &a );
    scanf("%d", &b );
    scanf("%d", &c );

    printf( "Grösste zahl: %d", ((x = (a > b ? a : b)) > c ? x : c) );
}

geht doch auch *g*

--edit---
achja, und wenn man die namen der variablen braucht:

Code:

    int a, b, c, x;
    char gz;

        scanf("%d", &a );
        scanf("%d", &b );
        scanf("%d", &c );

        if( a == b && a > c )
                printf( "A = B" );
        else if( a == c && a > b)
                printf( "A = C" );
        else if( b == c && b > a)
                printf( "B = C" );
        else if( a == b && b == c )
                printf( "A = B = C" );
        else
                printf( "Grösste zahl: %d: %c\n", ((x = (a > b ? (gz = 'a', a) : (gz = 'b', b))) > c ? x : (gz = 'c', c)), gz );

ist natürlich nicht der schönste stil, aber es funktioniert ;-)


3of4 06.03.2002 23:46

so ich hätte es jetzt fertig, aber wie ich sehe gibt es hier viel kürzere Versionen, bei Interesse kann ich es dir aber trotzdem schicken...


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag