17539

Робота з рядками символів. Обробка масивів на С++

Лабораторная работа

Информатика, кибернетика и программирование

Основи програмування та алгоритмічні мови Лабораторна робота №8 Лабораторна робота №8 Робота з рядками символів. Обробка масивів Мета роботи – вивчити особливості опису і використання символьних маси...

Украинкский

2013-07-04

71.5 KB

29 чел.


Основи програмування та алгоритмічні мови                                            Лаборато
рна робота №8

Лабораторна робота №8

Робота з рядками символів. Обробка масивів

Мета роботи – вивчити особливості опису і використання символьних
мас
ивів,  використання покажчиків.

Завдання

  1.  Ознайомитися з теоретичними відомостями.
  2.  Скласти консольну програму на мові С++ , яка:
  3.  здійснює ввід з клавіатури прізвища, ім'я та по батькові користувача;
  4.  визначає  довжину введених рядків;
  5.  виконує дії відповідно варіанту завдання;
  6.  виводить результат на екран, додавши до нього коментарі - студент якої спеціальності і групи виконав завдання.  

Теоретичні відомості

Визначення рядка

Рядок - це послідовність символів. Як відомо, послідовності в С++ представляються масивами або покажчиками.

Програми на C++ зберігають  рядки як масиви типу char.

Для оголошення  строкової змінної усередині програми просто оголосіть масив типу char з кількістю елементів, достатнім для зберігання необхідних символів.

char s[64];

Головна відмінність між символьними рядками та іншими типами масивів полягає в тому, що C++ визначає останній елемент масиву. Програми на C ++ представляють кінець символьного рядка за допомогою символу NULL, який в C++ зображується як спеціальний символ '\ 0', або нульовий байт.

Створення рядків

Проілюструємо створення рядків на фрагментах коду з коментарями.

char str1[10]; // Рядок - масив з 10 символів.

              // Початкове значення символів не визначено.

char str2[10]="Hello";

/* Використовується ініціалізація (не присвоювання!). У перші 5 символів записується "Hello", у 6 - нуль-термінатор, значення трьох останніх не визначено.*/

char str3[10]={'H', 'e', 'l', 'l', 'o', '\0'};

//еквівалентно попередньому..

char str4[10]="Very long line"; // Помилка.

// Масив з 10 елементів не можна ініціювати довшої послідовністю

char str5[]="Very long line"; // А так можна. Масив з 15 елементів.

Присвоєння рядків

Перший і найочевидніший спосіб присвоювання рядків - присвоювання окремих символів. Наприклад,

str1[0]=’H’;

str1[1]=’e’;

str1[2]=’l’;

str1[3]=’l’;

str1[4]=’o’;

str1[5]=’\0’;

Інші способи:

char s[200]; // масив з кількістю елементів,

            // достатнім для зберігання необхідних символів

cin>>s;      // ввід з консолі до першого пробілу

            // або до натиснення «Enter»

cin.getline(s, 200);  // ввід з до натиснення «Enter»

                     // 200 – максимальна кількість символів

  

Варіанти завдань

  1.  Вивести ім'я та кількість літер у третьому слові.  Визначити кількість літер "а" у прізвищі.
  2.  Вивести перші літери прізвища, імені та по батькові із крапками. Вивести довжину прізвища та імені.
  3.  Вивести прізвище та ініціали. Визначити кількість літер "а" в імені.
  4.  Перевірити, визначити, чи є ім’я паліндромом, тобто читається однаково справа наліво і зліва направо (АННА, АЛЛА).
  5.  Видалити всі літери "а" та "о" із прізвища.
  6.  Вивести ім'я в стовпець. Перевірити, чи починається хоча б одне зі слів з
    літ
    ери "В".
  7.  Всі літери "а" імені продублювати. Вивести прізвище та кількість літер імені.
  8.  Вивести ім'я у зворотному порядку. Вивести прізвище в стовпець.
  9.  Вивести слово, що має найменшу кількість літер.
  10.  Вивести прізвище, ім'я, по батькові з пробілами, та загальну кількість літер.
  11.  Вивести довжини трьох слів. Кожну літеру імені продублювати.
  12.  Вивести прізвище у зворотному порядку. Визначити кількість літер "а" та "о" в імені.
  13.  Вивести трете слово та кількість літер у прізвищі. Замінити в прізвищі всі літери «а» на «о» .
  14.  Вивести довжину прізвища та імені. Замінити в прізвищі всі літери «о» на «а».
  15.  Вивести ім'я та кількість літер у прізвищі. Вивести саме довге слово.

4.  Контрольні питання

  1.  Що таке рядки? Навіщо вони використовуються?
  2.  Як ініціалізувати рядок?
  3.  Як здійснюється доступ до елементів строки?
  4.  Як оголошується змінна типу char?
  5.  Що являється ознакою кінця рядка?
  6.  Який розмір масиву, що визначається таким чином:
    char s[]=”koshka”;   ?
  7.  Що являє собою змінна s  та змінна s[i] ?  ( див. пт.6)
  8.  Що таке вказівник? Наведіть приклад використання вказівників при роботі з масивами символів.

PAGE  4


 

А также другие работы, которые могут Вас заинтересовать

54635. Окупаційний режим і розгортання руху Опору в Україні 124.5 KB
  Мета. Визначити суть окупаційного режиму в Україні, наслідки, до яких привела політика «нового порядку». Показати трагедію українського народу в ході війни, проаналізувати розгортання руху Опору в Україні. Виховувати почуття патріотизму, поваги та шани до ветеранів та учасників Великої Вітчизняної війни, почуття неприязні до поневолення, рабства, ідей фашизму та нацизму.
54636. Історія в літературі рідного краю. (Зустріч із письменницею Ольгою Хало) 70 KB
  Мета: через призму ліри О.Хало познайомити учнів з історією рідного краю; виховувати почуття патріотизму, поваги до історичної минувшини лубенської землі. Обладнання: виставка творів О.Хало, ілюстрації до її творів, проектор, магнітофон.
54637. Олимпийские игры 41.5 KB
  Если у названного животного длинный хвост игроки поднимают правую руку и машут ею если же хвоста нет или он короткий игроки хлопают. Лошадь длинный коза короткий корова длинный лиса длинный заяц короткий овца короткий тигр длинный медведь короткий свинья короткий осёл длинный белка длинный.
54638. Урок – путешествие на Олимп 43 KB
  Трагедия с греческого переводиться как Афинский район Керамик дал название Пантикапей это современная Эгейское море назвали в честь царя Во время Марафонской битвы греки сражались с Правление Перикла называют золотым Сколько подвигов совершил Геракл Кого не допускали на Афинское собрание...
54639. Формирование компетентности продуктивной творческой деятельности у учащихся по информатике путем решения олимпиадных задач 155.99 KB
  Программа решения данной задачи в среде TurboPscl может быть такой: Vr mnzsxmxmin: integer; begin z:=0; writeln‘Введи количество конфет одной разновидности и количество конфет другой’; redlnmn; if n m then begin mx:=n; min:=m end else begin mx:=m; min:=n end; for x:=1 to mx do begin if mx mod x=0 then begin s:=mx div x; if min mod s=0 then if s 1 then begin writeln‘Коробок с одинаковым набором конфет может быть:’; writelns’ штук’; z:=1 end; end; end; if z=0 then writeln‘Конфеты можно поместить только в одну коробку’; redln...
54640. Ми – майбутні олімпійці 49 KB
  Ведучий: Добрий день любі друзі шановні вболівальники. Ведучий: А зараз я вам представляю учасників сьогоднішнього свята Ведучий: Прошу команд привітати одна одну. Ведучий: Отже команди увага старт Ведучий: Оголошуємо перший конкурс. Ведучий:.
54641. Гурток з історії «Олімп» 217.5 KB
  З одного боку такий склад стимулює діяльність учнів які лише починають вивчати предмет бо старшокласники демонструють вже сформовані за роки навчання вміння навики допомагають молодшим учням з іншого боку можуть виникати проблеми пов’язані з часом бо у старшокласників закінчуються заняття значно раніше ніж в учнів 56 класів. Планування історичного гуртка Олімп Тема заняття Блок 1 1. Організаційне заняття 2. Підсумкове заняття...
54642. Вперед олімпійці. Позакласний захід 51 KB
  Розвивати руховий апарат, фізичні вміння учнів. Впроваджувати елементи класичної аеробіки в систему фізичного виховання. Сприяти розвитку уваги, дисциплінованості, кмітливості. Виховувати у учнів любов до фізичної культури та свідоме ставлення до здорового способу життя.
54643. Единый Всеукраинский Олимпийский урок 227.5 KB
  1 ведущая: 28 веков над землёй пронеслись И теперь до сих пор Слышен стук колесниц Праздник спорта живёт И огонь не погас Олимпийские игры Славит Пегас 2 ведущий: В живописной долине Средь статуй Богов Собирались атлеты Элитных кругов И спортивная песня От века до века Захватила и скифа и тавра и грека Греческий танец исполняют учащиеся 1011классов 1 ведущая: Но до...