17539

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

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

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

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

Украинкский

2013-07-04

71.5 KB

31 чел.


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


 

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

72407. Форматирование таблицы, работа с формулами 1.08 MB
  Цель работы: ознакомиться со способами форматирования данных внутри ячеек, видами выравнивания и ориентации текста, прорисовки границ и выделения цветом. Изучить различные виды адресации ячеек, правила написания формул, работу Мастера функций и назначение кнопочек ленточной вкладки Формула.
72408. Работа с текстовыми данными 180.5 KB
  Цель работы: изучить основные сведения по работе с текстовыми данными, научиться обрабатывать текст. Уметь связывать данные в разных таблицах, освоить работу логических функций. Изучить пользовательские форматы данных. Научиться использовать средство Условное форматирование для выделения диапазона данных.
72409. Работа с датами и временем 116.5 KB
  Цель работы: Изучить правила организации и хранения даты и времени в EXCEL. Изучить функции для работы с датами и временем. Научиться работать с текущей датой и временем. Освоить способы связывания данных в таблицах при помощи функций...
72410. ОПРЕДЕЛЕНИЕ СРЕДНЕЙ ДЛИНЫ СВОБОДНОГО ПРОБЕГА И ЭФФЕКТИВНОГО ДИАМЕТРА МОЛЕКУЛЫ ГАЗА 165 KB
  Согласно молекулярно-кинетической теории газа хаотическое молекулярное движение является физической причиной наблюдаемых в газах явлений переноса энергии - при выравнивании температур (теплопроводность), массы - при выравнивании концентраций...
72411. Регулювання рульового механізму 131.5 KB
  Регулювання рульового механізму залежить від його конструкції. На автомобілях ГАЗ – 53 використовується передача типу глобоідальний черв’як – трьохгребневий ролик, а на автомобілях ЗИЛ – 431410 та КамАЗ – передача типу сектор та рейка – поршень.
72412. ЛОГИСТИКА СНАБЖЕНИЯ 158.5 KB
  Идея концепции синхронизация процессов доставки МР и ГП в необходимых количествах точно к тому моменту когда звенья логистической цепи в них нуждаются для выполнения заказа заданного подразделением-потребителем. Математические модели управления запасами УЗ позволяют найти оптимальный уровень запасов...
72413. Международная логистика 78.5 KB
  Поскольку доля дополнительных затрат, возникающих при доставке из Юго-Восточной Азии, в удельной стоимости поставляемого груза меньше, чем разница между стоимостью комплектующих в Европе и Юго-Восточной Азии, то именно в странах этого региона выгоднее покупать комплектующие.
72414. Логистическая система, логистическая цепь, логистические звенья 73.5 KB
  В каких значениях использовался термин логистика на протяжении его эволюционного развития Какой концепции придерживается современная экономическая наука Каковы эволюционные этапы становления логистики в чем их принципиальная суть В чем заключается принципиальная новизна логистического подхода...