Vissza

Labor 1, haladóknak:


Számsorozat

Adott egy 2·n elemű természetes számsorozat. Két játékos felváltva választ számot a sorozat valamelyik végéről. Az nyer, aki a kiválasztott számok nagyobb összegét tudja magáénak. A kezdőnek mindig létezik egy nyerő stratégiája. Írjuk meg a megfelelő játékprogramot melyben, ha a számítógép kezd, akkor nyerjen is ő.

Használjunk különböző színeket a kiírásokhoz, illetve a következő implementációs lehetőségek mindegyikét írjuk meg:
a. a számsorozat elemeit szövegállományból olvassuk ki (lásd kezdők 4. feladatsora, 4-es feladat)
b. a számsorozat elemeit véletlenszerűen generáljuk (lásd kezdők 9. feladatsora, 1-es feladat)
c. a számsorozat elemeinek dinamikusan foglaljunk helyet (lásd kezdők 11. feladatsora, 4-es feladat)

Színek használata DevC++-ban: lásd kezdők 2. feladatsora, 1-es feladat.

Színek használata Visual Studio-ban:

#include <stdio.h>
#include <windows.h>

#define darkblue SetConsoleTextAttribute(ConsoleSettings,1);
#define white SetConsoleTextAttribute(ConsoleSettings, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
//#define white SetConsoleTextAttribute(ConsoleSettings, 15);
#define green SetConsoleTextAttribute(ConsoleSettings,10);
#define sel SetConsoleTextAttribute(ConsoleSettings,224);
#define red SetConsoleTextAttribute(ConsoleSettings,12);
#define blue SetConsoleTextAttribute(ConsoleSettings,9);
#define grey SetConsoleTextAttribute(ConsoleSettings,8);
#define lightblue SetConsoleTextAttribute(ConsoleSettings,11);

int main(){
    HANDLE ConsoleSettings;
    ConsoleSettings=GetStdHandle(STD_OUTPUT_HANDLE);
       
    int n, i;
    int tomb[] = {1,2,3,4,5,6,7};
    n = sizeof(tomb)/sizeof(tomb[0]);
    for(i=0; i<n; i++){
        if( i%2==0 ) {green; }
        else blue;
        printf("%i\n", tomb[i]);
    }
    white;
    printf("\n");
    return 0;
}