Всем привет, кто может помочь? С++ задача - Напечатать слово макисмально чётной длины и возвратить адрес его начала; Проблема заключается в том, что незнаю как его вывести и возвратить адрес, подскажите пожалуйста, кто может. Вот мой код:
int task5(){ int i, lmax=0, imax=-1; int p=0, k=0; char C[80]; cout<<"input - "; cin>>C; gets(C); for (i=0; C[i]!='\0';i++){ if (C[i]!=' ') k++; else if (k/2!=0 && k>lmax) { imax=p; lmax=k; k=0, p=i+1; } if(k/2!=0 && k>lmax){ imax=p; lmax=k; k=0, p=i+1; } } return imax; }
05 дек 2011, 10:18
Gotoschool
[0.9]
0
Напечатать слово макисмально чётной длины
Адресом будет служить адрес 0-элемента, выводится типа &a - адрес переменной, вроде так.
05 дек 2011, 12:08
Joodleap
[0.1]
0
Напечатать слово макисмально чётной длины
int task5(){ int i=0; int k, m, b; b=-1; m=0; char in[]="fuk gh dhry fhdrn d djvghgd"; cout<<""while (in[i]==' ') i++; for (k=0; in[i]!=' ' && in[i]!=0 ; i++,k++); if ( k>m){ m=k; b=i-k; } } while (in[b]!=0){ printf("%C", in[b]); b++;} cout}
Переделал (строку взял постоянную, так проще тестировать), выводит слово максимальной длины, но мне необходимо чётной... а когда добавляю в if ( k>m) &&k%2=0 пишет ошибку "выражение должно быть допустимым для изменения левосторонним значением, пробовал сделать множеством способов, всё равно там же проблема.
На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.