17539

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

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

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

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

Украинкский

2013-07-04

71.5 KB

32 чел.


Основи програмування та алгоритмічні мови                                            Лаборато
рна робота №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


 

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

26469. Роговые образования кожного покрова 37 KB
  Роговые образования кожного покрова МЯКИШИ torus упругие утолщения кожного покрова которые служат для опоры конечности о землю и обеспечивает амортизацию обладают большой чувствительностью осязание имеют хорошо развитый подкожный слой липоциты эласт. волокна располагаются на автоподиях Лошадь запястье пальмарно заплюсна плантарно каштаны пясть плюсна шоры пальцевый мякиш стрелка внутри копыта Собака на грудной запястные пястные пальцевые на тазовой плюсневые пальцевые Свинья КРС ...
26470. Фило-онтогенез кожного покрова 20 KB
  Филоонтогенез кожного покрова Филогенез: ланцетник однослойный цилиндрический эпителий рыбы появляются производные кожного покрова чешуя амфибии двуслойный эпителий 2ой слой соединительнотканный в связи с выходом на сушу рептилии 34слойный эпидермис в соединительной ткани коллагеновые и эластические волокна роговые образования птицы млекопитающие 5 слоёв эпителия 2слоя в дерме подкожный; роговые образования железы у птиц перья копчиковая железа онтогенез: У эмбриона кожа состоит из эпителия эктодермального...
26471. Фило-онтогенез скелета 25 KB
  Внутренний развивался в филогенезе как каркас опорная конструкция на которой закрепляются мягкие ткани. в промежуточном вве костной ткани кроме коллагеновых волокон и клеток откладываются мин. Пресмыкающиеся и тд скелет из пластинчатой костной ткани коллагеновые волокна расположены упорядоченно . ткани перепончатого скелета коллагеновые волокна расп.
26472. Анатомическая терминология. Плоскости и направления, принятые в анатомии 28.5 KB
  латеральное направление наружу медиальное направление вовнутрь Сегментальная поперечная вертикальная проходящая поперёк тела и делящая его на переднюю и заднюю половины. краниальное направление к голове cranium череп каудальное направление к хвосту cauda хвост Фронтальная горизонтальная делит тело на верхнюю и нижнюю половины. дорсальное направление вверх dorsum спина вентральное направление вниз ventor живот На голове: дорсальное направление...
26473. Биоморфологические закономерности строения и развития организмов 27 KB
  Биоморфологические закономерности строения и развития организмов Организм целостная живая система для которого прежде всего характерны целостность и дискретность. Общие принципы строения тела животного: биполярность билатеральность сегментарность закон трубкообразного строения большинство непарных органов расположены вдоль главной оси тела Основные законы биологического развития: Закон исторического филогенетического развития Шмальгаузен: в процессе развития постоянно происходит дифференцировка разделение функций клеток и тканей...
26474. Железы кожного покрова 45 KB
  На коже вымени: между бёдрами молочное зеркало planum lactiferum или надвыменная область regio supramammaria Под кожей поверхностная фасция вымени беловатая пластинка из плотн. ткани соединительнотканная собственная оболочка долей вымени соединённая прослойками ткани внутри долей вымени стромой stroma gl. mammaria между правой и левой половинами подвешивающая связка вымени lig. suspensorium mammarium на месте связки снизу вымени серединный жёлоб sulcus intermammarius.
26475. Классификация костей 23.5 KB
  Классификация костей Оs longum длинные дугообразные рёбра трубчатые плечевая бедренная общий план строения: биэпифизарные дистальный эпифиз проксимальный эпифиз между эпифизами тело кости диафиз. Зона роста кости в длину проксимальный и дистальный метафиз между эпифизом и диафизом. Os longum короткие равны по длине высоте ширине состоят из компактного и губчатого вещества кости запястья и заплюсны основная функция амортизация Os planum плоские или пластинчатые Имеют обширные...
26476. Кость как орган и её остеогенез 33.5 KB
  соли в кости меняется: Молодость: 1:1 Зрелость: 1:2 Старость: 1:7 кости твёрдые хрупкие С поверхности кость покрыта надкостницей periosteum: Наружный фиброзный слой защитная функция из плотной соединительной ткани содержит много коллагеновых волокон. продольно по отношению к главной оси кости. Костные перегородки остеоны расположены плотно что придаёт кости прочность сравнимую с прочностью гранита. Особо толстый слй компакты там где велики нагрузки кости на излом.
26477. Морфофункциональная характеристика волоса 35.5 KB
  Морфофункциональная характеристика волоса Волосы pili производные эпидермиса тонкие эластичные ороговевающие нити из ороговевшего или ороговевающего эпителия. волосы покрывают почти всё тело Фции: защита терморегуляторная орган осязания Волос состоит из: волосяная нить: стержень scapus pili видимая часть корень radix pili находится в толще кожного покрова корень переходит в луковицу волоса. волосяная сумка чехол в сумку открываются протоки сальных желёз Утолщение корня...