Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОтветыЭкзамОАиП1сем.docx
Скачиваний:
10
Добавлен:
30.01.2023
Размер:
2.09 Mб
Скачать

28. Алгоритмы работы со строками (подсчет длины строки, объединение строк, удаление заданного символа).

Пример. Подсчет длины строки.

#include <stdio.h>

Void main()

{ char st[ ] = "Text";

int c = 0; char *pst;

pst = &st[0];

while (*pst++) ++c;

printf("%d\n", c); } (Результат – 4)

Пример. Удаление лишних пробелов из строки

#include <stdio.h>

Void main()

{ char s1[] = "Te x t";

char s2[8]; int i, j;

for(j = 0, i = 0; s1[i] != 0; i++)

if(s1[i] != ' ')

s2[j++] = s1[i];

s2[j] = 0;

puts(s2); }

Пример: объединение строк

int main()

{ std::string s1 = "hello";

    std::string s2 = " world";

   

    std::cout << s1+s2;

    return 0; }

29. Стандартные функции работы со строками. Примеры использования.

Стандартная библиотека С++ предоставляет набор функций для манипулирования строками. Для ее использования надо включать заголовочный файл  #include <cstring>

Функция

Прототип и краткое описание

функции

strcmp

int strcmp(const char *str1, const char *str2);

Сравнивает строки str1 и str2.

Если str1 < str2, то результат отриц., если str1 = str2, то результат 0, если str1 > str2, то результат положит.

strcpy

char* strcpy(char*s1, const char *s2); Копирует байты из s1 в строку s2

strdup

char *strdup (const char *str);

Выделяет память и переносит в нее копию строки str.

strlen

int strlen (const char *str); Вычисляет длину строки str

strncat

char *strncat(char *s1, const char *s2, int kol);

Приписывает kol символов строки s1 к строке s2

strncpy

char *strncpy(char *s1, const char *s2, int kol);

Копирует kol символов строки s2 в строку s1

strnset

char *strnset(char *str, int c, int kol);

Заменяет первые kol символов строки s1  символом с

atoi

int  atoi(char *str);

Преобразует число в виде символов в целое число

atof

float  atof(char *str); Преобразует число в виде символов в  число  с  плав. точкой

Пример. Определение длины строки

{ char name[10];

int m;

cout<<"Input text ";

gets(name);

m = strlen(name);

cout<<"L="<<m;

}

 Пример. Определить количество символов в строке, введённой пользователем с клавиатуры:

#include <iostream>

using namespace std;