Даже стыдно задавать такой вопрос тут, но делать нечего.
Кусок программы ниже должен вычленять и выводить из введенных строк подстроки, не содержащие кириллических символов, вместо чего программа молча вылетает. Версия Qt: 4.7.4
#include <iostream>
#include <stdio.h>
struct substr{
char string [81];
char subs [41][81];
int sub_n;
};
using namespace std;
void sub_search (substr *str){
int i;
char *s, *s1;
s = str->string;
while (*s){
if (*s < 'А' || *s > 'я'){
s1 = s;
i = 0;
while (*s1 < 'А' || *s1 > 'я'){
str->subs[str->sub_n][i] = *s1;
s1++, i++;
}
s = s1 + 1;
str->sub_n++;
}
s++;
}
}
int main()
{
setlocale(LC_ALL,"RUS");
int nmax = 20, i, j, n = 0;
struct substr str[nmax];
printf ("Введите строки (<=%d)\n", nmax);
while(n < nmax && *gets(str[n].string)) n++;
for (i = 0; i < n; i++){
sub_search(&str[i]);
if (str[i].sub_n)
for (j = 0; j < str[i].sub_n; j++)
printf ("%s\n", str[i].subs[j]);
}
return 0;
}
p.s. пожалуйста, не пинайте, я всего лишь первокурсник.