Я пытаюсь написать программу, в которой пользователь вводит текст, а консоль печатает этот текст в сетке звездочек размером 7 на 5.Печать массивов на основе ввода пользователем в C
e.g;
Enter a word:
a
****
*
*****
* *
*****
Однако у меня возникли проблемы с идентификацией персонажей, а затем с сообщением о программе.
Моя попытка до сих пор:
#include <stdio.h>
#include <string.h>
char a[7][6] = {
" ",
" ",
"**** ",
" *",
"*****",
"* *",
"*****"
};
...other letters...
char word[20];
int i;
int j;
char letter[2];
int main() {//main
fgets(word, sizeof(word), stdin);
for (j = 0; j < strlen(word); j++) {
strcpy(letter, word[j]);
for (i = 0; i < 7 ; i++) {
printf("%s %d\n", letter[i]);
}
}
printf("Total number of characters processed: %d\n", strlen(word) - 1);
return (0);
}//*main
Буквы сделаны в отдельном массиве и печатается строка за строкой через петлю для того, чтобы их напечатать один за другим по горизонтали.
Моя лучшая идея была в том, что переменная letter
, которая изменила бы значение на текущий символ, считанный с word
, но я знаю, что это неверно.
Вы хотите использовать только C или вы также можете использовать функции C++? Btw Я думаю, что это хороший способ сопоставить все буквы в сетке звездочек, а затем проанализировать входные данные для функции, которая преобразует строку/символы со звездочкой –
Один преобразованный в сетку (многомерный массив), вы можете ее распечатать горизонтально –
Просто C. Не возражаете ли вы расширить то, что вы имеете в виду? Я думал о том, что у меня есть все буквы в трехмерном массиве, но потом я не был уверен, как в конечном итоге вызвать их по очереди. –