Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet106/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   102   103   104   105   106   107   108   109   ...   193
Bog'liq
Book-qtC


Глава 8. Строки в языке C++
• присваивание, например s1=s2;
• объединение строк (s1+=s2 или s1=s1+s2) — добавляет к строке s1 строку
s2
, результат хранится в строке s1, например:
#include 
#include 
using namespace s t d ;
i n t main ( )
{
s t r i n g a , b ;
cout<<" a = " ;
g e t l i n e ( c i n , a ) ;
cout<<" b = " ;
g e t l i n e ( c i n , b ) ;
a+=b ;
cout<<" a = "<return 0 ;
}
• сравнение строк на основе лексикографического порядка: s1==s2, s1!=s2,
s1, s1<=s2, s1>s2, s1>=s2 — результатом операций сравнения будет ло-
гическое значение;
При обработке строк типа string можно использовать следующие функции
2
:
s.length()
— возвращает длину строки s;
s.substr(pos, length)
— возвращает подстроку из строки s, начиная с номера
pos
длиной length символов;
s.empty()
— возвращает значение true, если строка s пуста, false — в против-
ном случае;
s.insert(pos, s1)
— вставляет строку s1 в строку s, начиная с позиции pos;
s.remove(pos, length)
— удаляет из строки s подстроку length длиной pos
символов;
s.find(s1, pos)
— возвращает номер первого вхождения строки s1 в строку s,
поиск начинается с номера pos, параметр pos может отсутствовать, в этом
случае поиск идёт с начала строки;
s.findfirst(s1, pos)
— возвращает номер первого вхождения любого символа
из строки s1 в строку s, поиск начинается с номера pos, параметр pos
может отсутствовать, в этом случае поиск идёт с начала строки.
Задача 8.1.
Некоторый текст хранится в файле text.txt. Подсчитать количе-
ство строк и слов в тексте.
Предлагаем читателю самостоятельно разобраться в приведённом программ-
ном коде.
#include 
#include 
#include < s t d l i b . h>
#include 
using namespace s t d ;
i n t main ( )
{
i f s t r e a m f ;
i n t p , j , i , k o l ,m, n=0;
s t r i n g S [ 1 0 ] ;
f . open ( " t e x t . t x t " ) ;
i f ( f )
2
В описанных ниже функциях строки s и s1 должны быть типа string.
Программирование на языке С++ в среде Qt Creator


8.4. Задачи для самостоятельного решения
247
{
while ( ! f . e o f ( ) )
{
g e t l i n e ( f , S [ n ] ) ;
cout<n++;
}
f . c l o s e ( ) ;
cout<cout<<"Количество строк в тексте - "<f o r ( k o l =0 , i =0; i {
m=S [ i ] . l e n g t h ( ) ;
S [ i ]+=" " ;
f o r ( p=0;p{
j=S [ i ] . f i n d ( " " , p ) ;
i f ( j !=0) { k o l ++; p=j +1;}
e l s e break ;
}
}
cout<<"Количество слов в тексте - "<}
e l s e cout<<"Файл не найден"<return 0 ;
}
Результаты работы программы:
Если видим, что с картины
Смотрит кто-нибудь на нас,
Или принц в плаще старинном,
Или в робе верхолаз,
Лётчик или балерина,
Или Колька, твой сосед,
Обязательно картина
Называется портрет.
Количество строк в тексте - 8
Количество слов в тексте - 29
8.4
Задачи для самостоятельного решения
Разработать программу на языке C++ для следующих заданий, учитывая, что
исходная информация хранится в текстовом файле.
1. Подсчитать количество слов в каждой строке текста.
2. Подсчитать количество символов в тексте.
3. Подсчитать количество точек в тексте.
4. Подсчитать количество пробелов в тексте.
5. Удалить из теста все пробелы.
6. Удалить из теста все точки.
7. Вставить вместо каждого пробела восклицательный знак.
8. Вставить перед каждым восклицательным знаком вопросительный.
9. Определить, содержит ли текст хотя бы один восклицательный знак, и в
какой строке.
10. Подсчитать количество слов в чётных строках текста.
11. Найти номер самой длинной строки текста.
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


248
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   102   103   104   105   106   107   108   109   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish