Какая допущена ошибка? - C (СИ)
Формулировка задачи:
# include < string.h >
# include <stdio.h >
# include <conio.h >
# include <locale.h>
# define m 30
# define n 9
int main()
{
int i, j = 0, x;
char A[m][n], B[m][n], c = 's', st[] = "eeeee";
printf("\n введи последовательность ");
i = 0; while (c != '.') {
scanf_s("%[^,.] ", &A[i]); scanf_s("%c ", &c); i++;
}
for (i = x, i = 0; i < x; i++)
if (strstr(A[i], st) != NULL)
{
B[j] = A[i]; j++; /* <--- */
}
printf("\n ");
for (x=j, j=0; j<x ; j++)
printf(" %s ", B[j]);
_getch();
return 0;
}Решение задачи: «Какая допущена ошибка?»
textual
Листинг программы
# include < string.h >
# include <stdio.h >
# include <conio.h >
# include <locale.h>
# define m 30
# define n 9
int main()
{
setlocale(LC_ALL, "Rus");
int i, j = 0, x;
char A[m][n], B[m][n], c = 's', st[] = "eeeee";
printf("\n Bведи последовательность ");
i = 0; while (c != '.') {
scanf_s("%[^,.] ", &A[i], 9); scanf_s("%c ", &c); i++;
}
printf("\n ");
for (x = i, i = 0; i <= x; i++)
if (strstr(A[i], st) != NULL) {
strcpy_s(B[j], A[i]); j++;
}
if (B[0]=="") printf("%d", j); else {
for (x = j, j = 0; j < x; j++)
printf("%s ", B[j]);
}
_getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы.
- Определяем размеры массивов m и n.
- Устанавливаем локальную настройку на русский язык.
- Объявляем переменные i, j, x, A, B, c, st.
- Выводим сообщение для ввода последовательности.
- Используем цикл while для считывания последовательности и остановки при вводе точки.
- Используем цикл for для перебора массива A и проверки наличия подстроки
eeeee. - Если подстрока найдена, копируем соответствующий элемент массива A в массив B и увеличиваем счетчик j.
- Проверяем, пуст ли первый элемент массива B, и выводим его номер, если не пуст.
- Если первый элемент массива B не пуст, используем цикл for для перебора элементов массива B и их вывода.
- Используем функцию _getch() для приостановки выполнения программы до нажатия клавиши.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.