![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 28.11.2010
Сообщений: 1
|
![]()
1.Найти в строке два одинаковых фрагмента (не включающих в себя пробелы) длиной более 5 символов и возвратить индекс начала первого из них (т.е. для “aaaaaabcdefgxxxxxxbcdefgwwwww” вернуть n=6 - индекс начала “bcdefg”).
2.Заменить в строке последовательности одинаковых символов (не пробелов) на десятичное число, состоящее из двух десятичных цифр и соответствующее их количеству (т.е. “ abcdaaaaa xyznnnnnnn ” на “abcd5a xyz7n ”). 1. int main(int argc, char* argv[]) { char A[10],*B; int i,j,n,a; for (i=0;i<10;i++) { scanf("%c",&A[i]); if(A[i]=='\n') { A[i]='\0'; break; } } printf("%s",A); n=0; for(i=0;i<10; ) { if(A[i]>49&&A[i]<57) {n=n+A[i]-48; i=i+2;} else {n=n+1; i=i+1;} } B=new char[n]; j=0; for(i=0;i<10; ) { if(A[i]>49&&A[i]<57) {a=A[i]-48; for(j=i;j<i+a;j++) { B[j]=A[i+1]; } i=i+2;} else {B[j]=A[i]; i=i+1; j=j+1;} } printf("\n%s",B); getch(); delete[]B; return 0; } Помогите, пожалуйста. Как исправить эту программу, чтобы сделать прогр. для 2 задания? Последний раз редактировалось Bell Mort; 28.11.2010 в 16:33. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обработка строк C++ | krolex | Помощь студентам | 0 | 23.05.2010 14:39 |
Обработка строк | MO_oNLight | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 22.05.2010 16:20 |
обработка строк на Си | HoOpe | Помощь студентам | 35 | 20.05.2009 19:11 |
Обработка строк | kpactu | Помощь студентам | 0 | 12.05.2009 22:43 |