Void main (void)
{
char *tk, *spt =", .!";
char st[] = "Сашко, нехай завжди буде солнце!";
cout << st << endl;
int i = 1;
tk = strtok (st, spt);
while (tk!= NULL)
{
cout << i << " слово-" << tk << " містить " <<
strlen(tk) << "символів" << endl;
tk = strtok (NULL,spt);
i++;
}
}
Для видалення з рядка підрядка або символу з заданої позиції в мові С++ немає спеціальної функції, однак можна написати свою, наприклад:
void del (char *st, int k, int n);
{ int i;
for ( i = k; i < strlen(st)-n; i++)
st[i] = st [i +n ];
st [i] ='\0';// Запис '\0'у кінець нового рядка
}
де st ¾ вихідний рядок (покажчик на неї);
n ¾кількість символів у підрядку що видаляється ;
k ¾ позиція, з якої треба видалити підрядок.
Нижче наведений приклад, що ілюструє реалізацію цієї програми
Приклад 3.5 Скласти програму видалення підрядка в n символів з k - ой позиції в рядку.
//P3_5.CPP видалення підрядка
#include < iostream>
using namespace std;
#include <string.h>
const int n = 50;
const int m = 5;
void del(char *st, int, int);
Переглядів: 289 |