![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.09.2011
Сообщений: 2
|
![]()
Дана строка символов, разделенных пробелами, точками, запятыми. Сформировать новую строку, содержащую слова исходной строки, поставив перед самыми короткими словами в строке символ * (звездочка).
#include <string.h> #include <iostream> #include <conio.h> using namespace std; void main(void) { char* str = new char[80]; char* word = new char[20]; char* newstr = new char[80]; cout<<"vvedite stroky >"; cin.get(str,80); int minlen = strlen(str); char* stroka = new char[strlen(str)+2]; strcpy(stroka,str); strcat(stroka," "); word=strtok(str," ,.?"); while(word) { if(minlen>strlen(word)) minlen=strlen(word); word=strtok(NULL," ,.?"); word=new char[20]; int n; newstr[0]='\0'; str[0]='\0'; word=strpbrk(stroka," ,.?"); while(word!=NULL) { n=word-stroka; strncpy(str,stroka,n); str[n++]='\0'; if(strlen(str)==minlen) strcat(newstr,"*"); strcat(newstr,str); strcat(newstr," "); stroka+=n; word=strpbrk(stroka," ,.?"); } cout<<newstr; } Ставит звездочку только в начале. Помогите исправить. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++. Циклы. Некорректно работает программа. | Julia1989 | Помощь студентам | 14 | 15.12.2010 11:25 |
Массивы. (Составленная мною программа работает некорректно). | ISV-777 | Помощь студентам | 0 | 10.12.2010 18:02 |
некорректно работает программа с массивами | altair555222 | Помощь студентам | 4 | 30.11.2010 13:50 |
Некорректно работает программа | Dimakat | Помощь студентам | 2 | 07.09.2010 14:54 |
float в ие-6 работает некорректно | cratte | HTML и CSS | 3 | 17.02.2010 08:50 |