17539

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

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

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

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

Украинкский

2013-07-04

71.5 KB

30 чел.


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


 

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

81421. Основные социологические теории и возможность их применения для анализа социальной работы 37.06 KB
  Понимание – познание социального действия через его субъективный смысл который вкладывает в данное действие сам субъект. Суть использования понимания состоит в том чтобы поставить себя в положение других людей для того чтобы увидеть какое именно значение они придают своим действиям или каким целям по своему убеждению служат. Исследование значений человеческих поступков – это в какойто степени просто развитие наших повседневных попыток понять действия множества различных окружающих нас людей. Действие которое соотносится с действиями...
81422. Конформация пептидных цепей в белках (вторичная и третичная структуры). Слабые внутримолекулярные взаимодействия в пептидной цепи; дисульфидные связи 108.54 KB
  Слабые внутримолекулярные взаимодействия в пептидной цепи; дисульфидные связи. βлисты складчатые слои несколько зигзагообразных полипептидных цепей в которых водородные связи образуются между относительно удалёнными друг от друга 0347 нм на аминокислотный остаток в первичной структуре аминокислотами или разными цепями белка а не близко расположенными как имеет место в αспирали. Стабильность вторичной структуры обеспечивается в основном водородными связями определенный вклад вносят и главновалентные связи – пептидные и...
81423. Основы функционирования белков. Активный центр белков и его специфическое взаимодействие с лигандом как основа биологической функции всех белков. Комплементарность взаимодействия молекул белка с лигандом. Обратимость связывания 102.95 KB
  Активный центр белков и его специфическое взаимодействие с лигандом как основа биологической функции всех белков. Каждый индивидуальный белок имеющий уникальную первичную структуру и конформацию обладает и уникальной функцией отличающей его от остальных белков. Набор индивидуальных белков выполняет в клетке множество разнообразных и сложных функций.
81424. Доменная структура и её роль в функционировании белков. Яды и лекарства как ингибиторы белков 106.19 KB
  Яды и лекарства как ингибиторы белков. Некоторые яды попадая в организм человека прочно связываются с определёнными белками ингибируют их и тем самым вызывают нарушения биологических функций. Так лекарства назначаемые в дозах больших чем терапевтические могут действовать как яды т. вызывать серьёзные нарушения обмена веществ и функций организма а яды в микродозах часто используют как лекарственные препараты.
81425. Четвертичная структура белков. Особенности строения и функционирования олигомерных белков на примере гемсодержащего белка - гемоглобина 104.92 KB
  Особенности строения и функционирования олигомерных белков на примере гемсодержащего белка гемоглобина. В частности молекула гемоглобина состоит из двух одинаковых α и двух βполипептидных цепей т. Молекула гемоглобина содержит четыре полипептидные цепи каждая из которых окружает группу гема – пигмента придающего крови ее характерный красный цвет. Простетическая группа нековалентно связана с гидрофобной впадиной молекулы гемоглобина.
81426. Лабильность пространственной структуры белков и их денатурация. Факторы, вызывающие денатурацию 100.13 KB
  Под лабильностью пространственной структуры белка понимают способность структуры белковой молекулы претерпевать конформационные изменения под действием различных физикохимических факторов. Под денатурацией следует понимать нарушение общего плана уникальной структуры нативной молекулы белка преимущественно ее третичной структуры приводящее к потере характерных для нее свойств растворимость электрофоретическая подвижность биологическая активность и т. При непродолжительном действии и быстром удалении денатурирующих агентов возможна...
81427. Шапероны - класс белков, защищающий другие белки от денатурации в условиях клетки и облегчающий формирование их нативной конформации 105.78 KB
  Шаперо́ны (англ. chaperones) — класс белков, главная функция которых состоит в восстановлении правильной третичной структуры повреждённых белков, а также образование и диссоциация белковых комплексов. Термин «молекулярный шаперон» впервые был использован в работе Ласкей и других при описании ядерного белка нуклеоплазмина
81428. Многообразие белков. Глобулярные и фибриллярные белки, простые и сложные. Классификация белков по их биологическим функциям и по семействам: (сериновые протеазы, иммуноглобулины) 106.76 KB
  Глобулярные и фибриллярные белки простые и сложные. Так белки можно классифицировать: по форме молекул глобулярные или фибриллярные; по молекулярной массе низкомолекулярные высокомолекулярные и др.; по химическому строению наличие или отсутствие небелковой части; по выполняемым функциям транспортные защитные структурные белки и др.; по локализации в организме белки крови печени сердца и др.
81429. Иммуноглобулины, особенности строения, избирательность взаимодействия с антигеном. Многообразие антигенсвязывающих участков Н- и L-цепей. Классы иммуноглобулинов, особенности строения и функционирования 108.05 KB
  Домены тяжёлых цепей IgG имеют гомологичное строение с доменами лёгких цепей. Специфичность пути разрушения комплекса антигенантитело зависит от класса антител которых существует 5 типов: Ig IgD IgE IgG IgM. Созревающие Влимфоциты синтезируют мономерные бивалентные молекулы IgM по структуре похожие на рассматриваемые выше IgG которые встраиваются в плазматическую мембрану клеток и играют роль первых антигенраспознающих рецепторов. В количественном отношении IgG доминируют в крови и составляют около 75 от общего количества этих...