Программа не выходит из цикла - C (СИ) (79365)
Формулировка задачи:
Пытаюсь написать программу на С++, которая должна сравнить 3 слова, и если одно из слов полностью входит в другое слово, выдать ответ "да". Причём слова надо вводить в символьном массиве, т.к. тип string компилятором не поддерживается.
Вот код:
Никак не пойму в чём ошибка, уже целый час над текстом бьюсь, ничего не получается.
На выходе после ввода данных мелькает m[3][1]m[3][1] и так до бесконечности.
Вроде выход из цикла сделал (значение w изменяется в двух случаях), может что-то с памятью ещё не сделал?
#include <stdio.h> #include <conio.h> void main(){ char m[3][6]; int i, a, b, k, w; printf("Введите элементарный код для первого символа алфавита сообщений\n"); for(i=0; i<4; i++) scanf("%c", &m[1][i]); printf("Введите элементарный код для второго символа алфавита сообщений\n"); for(i=0; i<4; i++) scanf("%c", &m[2][i]); printf("Введите элементарный код для третьего символа алфавита сообщений\n"); for(i=0; i<4; i++) scanf("%c", &m[3][i]); for(a=0, b=0, k=1; w=2; ) { if (m[a][b]=m[a+k][b]) b+1; else {k+1; b=1;}; if (k=3) {a+1; k=1;}; if (m[a][b]=' ') w=1; if (a=3) w=0; printf ("m[%d][%d]", a, b);} if (w=1) printf ("Не обладает свойством префикса*"); else printf ("Обладает свойством префикса"); getch(); clrscr();}
Решение задачи: «Программа не выходит из цикла»
textual
Листинг программы
for(b=0, w=0; w==0 && k==0; )
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д