#include <iostream>
using namespace std;
int main()
{
char tmp [80];
char* ptr;
int res;
const char S ('*');
int z ;
while (1)
{
cout <<"Enter tmp-> ";
cin.getline (tmp,80);
z = strlen(tmp);
if (!ispunct (tmp [z-1]))
break;
ptr=new char [z+1];
strcpy_s (ptr, z+1, tmp);
delete [] ptr;
}
return 0;
}
помогите плиз надо чтобы в строке все знаки пунктуации переносились в начало а цифры в конец строки.
Другие языки программирования и технологии
С++ обработка строк при помощи указателей
#include <iostream>
using namespace std;
int main() {
char tmp[80];
cout << "temp? ";
cin.getline(tmp, 80);
char *s = new char[cin.gcount() + 1];
char *e = s;
for (char *pt = tmp; *e++ = *pt++;);
cout << "copy: " << s << endl;
char *pp = s, *pd = e - 2;
for (char *p = s; p < e; ++p) {
if ( ispunct(*p) ) {
if (pp != p) {
char t = *p;
for (char *pc = p; pc != pp; --pc) *pc = *(pc - 1);
*pp++ = t;
} else {
++pp;
}
}
if ( isdigit(*p) ) {
if (pd >= p) {
char t = *p;
for (char *pc = p; pc != e - 1; ++pc) *pc = *(pc + 1);
*(e - 2) = t;
--pd;
--p;
}
}
}
cout << "result: " << s << endl;
delete[] s;
return 0;
}
using namespace std;
int main() {
char tmp[80];
cout << "temp? ";
cin.getline(tmp, 80);
char *s = new char[cin.gcount() + 1];
char *e = s;
for (char *pt = tmp; *e++ = *pt++;);
cout << "copy: " << s << endl;
char *pp = s, *pd = e - 2;
for (char *p = s; p < e; ++p) {
if ( ispunct(*p) ) {
if (pp != p) {
char t = *p;
for (char *pc = p; pc != pp; --pc) *pc = *(pc - 1);
*pp++ = t;
} else {
++pp;
}
}
if ( isdigit(*p) ) {
if (pd >= p) {
char t = *p;
for (char *pc = p; pc != e - 1; ++pc) *pc = *(pc + 1);
*(e - 2) = t;
--pd;
--p;
}
}
}
cout << "result: " << s << endl;
delete[] s;
return 0;
}
Похожие вопросы
- С++.Обработка строк при помощи указателей.
- 2 массива. Найти масимальную подпоследовательность с помощью указателей
- Си работа со строками. Нужна помощь
- многомерные массивы (c++) Как нужно объявить четырехмерный массив с помощью указателей?
- Указатели на строки в C++
- Указатель на строку - массив, как это?
- Список с использованием указателей на Си
- Два вопроса про указатели в С++ внутри.
- Вопрос про указатели в С++ внутри
- нужна помощь с указателями!надо написать этот програмный код,используя указатели(