Р. А. Юсупов, С. Н. Искандарова, Ш. Мирзанова C/C++ тилида топшириқ ва масалалар Самарқанд – 2013 йил


Download 1.35 Mb.
bet74/105
Sana13.04.2023
Hajmi1.35 Mb.
#1353566
TuriУчебник
1   ...   70   71   72   73   74   75   76   77   ...   105
Bog'liq
CPP masalalari1


Часть II. Решения 157
int a[N]; // a[i] == 1, если i-ая цифра
// компьютера совпала с одной из цифр игрока
int ugad; // угадано чисел
int mesto; //из них на своих местах
int i,j; // индексы
time__t t;
printf ("\пКомпьютер задумал трехзначное числоЛп");
printf("Bbi должны его отгадать.\п");
printf("После ввода очередного числа вам будет ");
printf("сообщено, сколько цифр угадано, и сколько");
printf ("из них находится на своих местахЛп");
printf("После ввода числа нажимайте \n");
srand((unsigned)time(&t) );
for (i = 0; i < N; i++) // компьютер "задумывает" число
comp[i] = rand О % 10 + 48; // 48 - код символа 'О*
#ifdef DEBUG
printf("Компьютер задумал: ");
for (i == 0; i < N; i++)
printf("%c", comp[i]);
printf("\n");
#endif
do {
printf("\nBam вариант-> ");
scanf("%s", &igrok); // массив вводим как строку
for (i = 0; i < N; i++) a[i] = 0;
// проверим, сколько цифр угадано
ugad = 0;
for (i =0; i < N; i++) // каждую цифру игрока
for (j = 0; j < N; j++) // сравним с цифрами
// компьютера
{
if ((igrok[i] == comp[j]) && !a[j])
{
ugad++;
158 C/C++ в задачах и примерах
a[j] = 1; // запретим сравнивать
// эту цифру компьютера с оставшимися,
// еще не проверенными, цифрами игрока
break;
}
}
// проверим, сколько на своих местах
mesto = 0;
for (i = 0; i < N; i++)
if (igrok[i] == comp[i]) inesto++;
printf("Угадано: %i. Ha своих местах: %i", \
ugad, mesto);
} while ((ugad < N) || (mesto < N));
printf("\n*** ВЫ УГАДАЛИ ЧИСЛО! ***\n");
printf("\пДля завершения нажмите ");
getch();
}
Задача 184
// Телеграф - передача сообщений при помощи азбуки Морзе
#include "stdio.h"
#include "conio.h"
#include "string.h" // strlen
#include "dos.h" // delay
// параметры передачи
#define TONE 100 // частота сигнала (гц)
#define LI 50 // длительность (мс) "точки"
#define L2 100 // длительность (мс) "тире"
#define L3 50 // пауза (мс) между точками и тире одной
// буквы
#define L4 100 // пауза (мс) между буквами
#define L5 150 // пауза (мс) между словами
void main О
{
// кодировка букв русского алфавита
char *morse[] = {
I» __ I» if_ II II II II II / /7\ •n n T

Download 1.35 Mb.

Do'stlaringiz bilan baham:
1   ...   70   71   72   73   74   75   76   77   ...   105




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling