masterSV
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору привет всем! ни как не могу дописать простенькую прогу!!! задание выглядит следующим образом: вводим строку, а выводим обработанную. (указатель на строку *px) нужно из строки удалить маленькие буквы и знаки пунткуации(это я сделал) и окружить ЦИФРЫ ПРОБЕЛАМИ (это почти работает, окружает с ошибкой, и перед первой цифрой нужно поставить пробел, надо сдать к первому числу) #include <string> #include <iostream> using namespace std ; int main ( ) { char tmp [80] ; do { cout << "Vvedite stroku tmp" << endl ; cin.getline (tmp,80) ; if (!strcmp (tmp,"")) break ; char *px ; px = new char [strlen (tmp) +1] ; strcpy (px, tmp) ; cout << "Blok raven ->" ; char *py, *pz ; py = px ; pz = py ; if (strlen (px)< 10) { while (*py) { if (ispunct(*py) || islower(*py)) { for ( pz=py ; *pz ;pz++) *pz = *(pz + 1); } else py++ ; } py=px; while (*py) { if (ispunct (*py)) { for (pz=py+strlen(py) ;pz!=py ; pz--) *(pz+1)=*pz; *(py+1)=*py; py=py+2; } py=py+1; } py=px; while (*py) { if (isdigit (*py)) { for (pz=py+strlen(py);pz!=py ; pz--) *(pz+2)=*pz; *(py+1)=' '; *(py+2)=' '; py=py+2; } py=py+1; } } else cout << "Men'she 10 simvolov"<< endl; cout << px << endl ; delete px ; } while (1);// int n(0); return 0 ; } Добавлено: сори за флуд, схема окружения такова, что цифры сначало находятся, удваиваются, а потом вместо цифр-клонов ставятся пробелы. например A3RR4GG45 -> A 3 RR 4 GG 4 5 прошу наити ошибку и немного дописать программу. |