Здесь у вас есть функция.Если строка заканчивается на " ."
, она принимает данные до '.'
.Если нет, он берет данные до количества строк и столбцов или до конца строки, чтобы избежать UB.Если строка слишком короткая, остальная часть таблицы заполняется пробелами.Конечно, вы можете прерваться на этом этапе, но я не знаю, является ли это идеей.
Поскольку вы хотели заполнить другую таблицу, я сделал то же самое
#include <stdio.h>
#include <string.h>
#define SIDANTAL 7
#define BYTE 4
int main(void)
{
char alfabet[] = "abcdefghijklmnopqrstuvwxyz .";
char sequence[SIDANTAL][BYTE * 2 + 1];
char *end = strstr(alfabet, " .");
size_t len = end ? (end - alfabet + 2) : strlen(alfabet), cpos = 0;
for(size_t i = 0; i < SIDANTAL; i++)
{
for(size_t k = 0; k < BYTE; k++)
{
sequence[i][k * 2] = cpos < len ? alfabet[cpos] : ' ';
sequence[i][k * 2 + 1] = ' ';
cpos++;
}
sequence[i][BYTE * 2] = 0;
}
for(size_t i = 0; i < SIDANTAL; i++)
{
printf("%s\n", sequence[i]);
}
}