Главная страница
Навигация по странице:

  • Входные данные.

  • Выходные данные.

  • INPUT.TXT OUTPUT.TXT

  • Для начинающих на С. Составители


    Скачать 1.31 Mb.
    НазваниеСоставители
    Анкорisakova-zarina@mail.ru
    Дата18.02.2023
    Размер1.31 Mb.
    Формат файлаdocx
    Имя файлаДля начинающих на С .docx
    ТипЗадача
    #943648
    страница35 из 38
    1   ...   30   31   32   33   34   35   36   37   38

    Задача 83 (№ 895) Крестики-нолики (Сложность: 19%)





    INPUT.TXT

    OUTPUT.TXT

    1

    .OX
    .XO
    XXO

    Win

    2

    OXO
    .OX
    OXX

    Lose

    3

    XOX
    XOX
    OXO

    Draw
    Крестики-нолики – логическая игра между двумя противниками на квадратном поле 3 на 3 клетки. Один из игроков играет «крестиками» (тот, кто ходит первым), другой – «ноликами». Игроки по очереди ставят на свободные клетки поля знаки (один всегда «крестики», другой всегда «нолики»). Первый, выстроивший в ряд три своих фигуры по вертикали, горизонтали или диагонали, выигрывает и на этом игра заканчивается. В том случае, когда все клетки заполнены и победитель не определен, игра завершается ничьей.

    По состоянию игрового поля в конце игры требуется определить результат игры для первого игрока: выиграл, проиграл или сыграл вничью.

    Входные данные. Входной файл INPUT.TXT содержит информацию об игровом поле – три строки по три символа в каждой. Символ «X» (ASCII 88) означает «крестик», символ «O» (ASCII 79) - «нолик», а символ «.» (ASCII 46) - пустую клетку.

    Выходные данные. В выходной файл OUTPUT.TXT выведите в случае победы первого игрока «Win», в случае его проигрыша – «Lose» и «Draw» в случае ничьей.
    #include

    using namespace std;

    int main(){

        string s1,s2,s3;

        int sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8;

        cin>>s1>>s2>>s3;

        sum1=s1[0]+s1[1]+s1[2]; //складываем коды символов по

        sum2=s2[0]+s2[1]+s2[2]; //всем строкам, столбцам и диагоналям

        sum3=s3[0]+s3[1]+s3[2];

        sum4=s1[0]+s2[0]+s3[0];

        sum5=s1[1]+s2[1]+s3[1];

        sum6=s1[2]+s2[2]+s3[2];

        sum7=s1[0]+s2[1]+s3[2];

        sum8=s3[0]+s2[1]+s1[2];

        if (sum1==88*3){cout<<"Win";return 0;} //Х выигрывает, если

        if (sum1==79*3){cout<<"Lose";return 0;} //любая сумма = 88*3

        if (sum2==88*3){cout<<"Win";return 0;}

        if (sum2==79*3){cout<<"Lose";return 0;}

        if (sum3==88*3){cout<<"Win";return 0;} //О выигрывает, если

        if (sum3==79*3){cout<<"Lose";return 0;} //любая сумма=79*3

        if (sum4==88*3){cout<<"Win";return 0;}

        if (sum4==79*3){cout<<"Lose";return 0;}

        if (sum5==88*3){cout<<"Win";return 0;}

        if (sum5==79*3){cout<<"Lose";return 0;}

        if (sum6==88*3){cout<<"Win";return 0;}

        if (sum6==79*3){cout<<"Lose";return 0;}

        if (sum7==88*3){cout<<"Win";return 0;}

        if (sum7==79*3){cout<<"Lose";return 0;}

        if (sum8==88*3){cout<<"Win";return 0;}

        if (sum8==79*3){cout<<"Lose";}

        else cout<<"Draw";

        return 0;}


    Задача 84 (№ 46) Число E (Сложность: 20%)





    INPUT.TXT

    OUTPUT.TXT

    1

    0

    3

    2

    25

    2.7182818284590452353602875

    3

    13

    2.7182818284590
    Выведите в выходной файл округленное до n знаков после десятичной точки число E. Число Е, округленное до 25 знаков после десятичной точки, равно 2.7182818284590452353602875.

    Входные данные


    Входной файл содержит целое число n (0 ≤ n ≤ 25).
    1   ...   30   31   32   33   34   35   36   37   38


    написать администратору сайта