Написать программу "Анаграммы" - C (СИ)
Формулировка задачи:
Ребята, помогите написать программу, пожалуйста!
Написать программу «Анаграммы» (anagrams), которая реализует популярную словесную игру. Игра «Анаграммы» очень интересная и необычная игра в которой нет ни картинок ни слов. Суть игры (программы) заключается в следующем: формируется группа слов, которую можно реализовать в виде кортежа (tuple), компьютер случайным образом выбирает одно из слов и случайным образом переставляет в нём буквы, а затем представляет пользователю (игроку). Цель игрока – угадать выбранное компьютером слово.
Решение задачи: «Написать программу "Анаграммы"»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *str[] = {"nameless", "salesmen", "solver", "lovers", "creative", "reactive"};
char *buff = NULL;
int i, j, len, k, x, flag=1, *p=NULL;
puts(" ");
len = strlen(*str);
p = (int*)malloc(len * sizeof(p));
j = rand() % len;
p[0] = -1;
for(i=0; i<len; i++)
{
flag = 1;
while(flag)
{
j = rand() % len;
flag = 0;
for (k=0; k<=i; k++)
{
if(j == 0)
flag = 1;
}
if(flag == 0)
p[i] = j;
}
printf(" %c", str[j]);
}
puts("\n Guess the word: ");
buff = (char*)malloc(len * sizeof(buff));
x = 5;
while (1)
{
scanf("\n %s", buff);
if(strcmp(*str, buff) == 0)
{
puts(" Well done, this is the correct word.!!!\n");
break;
}
else
{
if(x == 0) {
puts(" Sorry. No more attempts.!\n");
break;
}
printf(" Sorry. Try again. You have %d attempts.\n\n", x);
x--;
}
}
free(p);
p = NULL;
free(buff);
system("PAUSE");
return 0;
}