Как показать положение буквы на матрице? - PullRequest
0 голосов
/ 30 апреля 2019

Сегодня я тренируюсь с матрицами, выполняя игру палача.

До сих пор мне уже удавалось заставить программу сравнивать букву, которую вводит пользователь, и, если она обнаружит, что она равна одной из букв слова, она выдаст позицию буквы вцифры (0,1,2,3 и т. д.).

void hangman(char word[],int size){
int counter=0;


while(counter<=7){


    printf("\nInsert a letter: ");
    char letter;
    scanf("%c",&letter);
    fflush(stdin);
    if(letter==word[counter++]){
        printf("\nThe letters position is %d\n",counter-1);
    }else{
        if(letter!=word[counter++]){
            imprimirMatriz(y,4,7);
            printf("\nThat letter is not part of the word!\n");
            printf("Try again.\n");
        }
    }


}

}

Теперь все хорошо.Это дает положение буквы, и это удивительно, однако я сделал матрицу из одной строки и восьми столбцов, и я хотел бы, чтобы программа показывала положение буквы на этой матрице.Например, если слово «хотя», а индексированная буква - «а», матрица должна быть напечатана как «a _ _ _ _ _ _ _».

Любая помощь, которую вы, ребята, могли бы оказать мнебудет принята с благодарностью!

1 Ответ

0 голосов
/ 30 апреля 2019

Вы можете использовать массив для маскированной строки.пример:

given string = 'abcd'
array1 = ['a']['b']['c']['d']
array2 = ['_']['_']['_']['_']

Когда игрок угадает, что буква существует в данной строке, вы можете присвоить значения маскированной строки правильной букве или соответствующим значениям данной строки.Теперь легко вернуть замаскированную строку.

Пример: игрок угадывает, что буква 'a' -> истинный индекс 'a' в массиве1 равен 0 -> array2 [0] = 'a' -> returnмассив2 в виде строки: 'a _ _ _'

...