Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_1_10 / Лекция 05.pptx
Скачиваний:
45
Добавлен:
21.05.2015
Размер:
488.43 Кб
Скачать

//Использование метода пузырьковой сортировки

//для упорядочения массива.

#include <iostream>

#include <cstdlib> using namespace std; int main()

{

int nums[10];

int a, b, t;

int size;

size = 10; // Количество элементов, подлежащих сортировке.

// Помещаем в массив случайные числа.

for(t=0; t<size; t++) nums[t] = rand();

// Отображаем исходный массив.

cout << "Исходный массив: ";

for(t=0; t<size; t++) cout << nums[t] << ' ';

cout << '\n';

// Реализация метода пузырьковой сортировки.

for(a=1; a<size; а++)

for(b=size-1; b>=a; b--) {

 

if(nums[b-1] > nums[b]) {

// Элементы

неупорядочены.

 

// Меняем элементы местами.

t = nums[b-1];

nums[b-1] = nums[b];

nums[b] = t;

}}

}

// Конец пузырьковой сортировки.

// Отображаем отсортированный массив.

cout << "Отсортированный массив: ";

for(t=0; t<size; t++)

cout << nums[t] << ' ';

return 0;

}

Строка это символьный массив, который завершается нулевым символом.

Например, объявляя массив str, предназначенный для хранения 10- символьной строки, следует использовать следующую инструкцию.

char str [11];

Заданный здесь размер (11) позволяет зарезервировать место для нулевого символа в конце строки.

""

Строка, приведенная последней (""), называется нулевой. Она состоит только из одного нулевого символа (признака завершения строки). Нулевые строки используются для представления пустых строк.

Вам не нужно вручную добавлять в конец строковых констант нулевые символы. С++-компилятор делает это автоматически. Следовательно, строка "ПРИВЕТ" в памяти размещается так, как показано на этом рисунке:

// Использование cin-инструкции для считывания

строки с клавиатуры.

#include <iostream> using namespace std; int main()

{

char str[80];

cout << "Введите строку: ";

cin >> str; // Считываем строку с

клавиатуры.

cout << "Вот ваша строка: ";

cout << str;

return 0;

}

Введите строку: Это проверка

Вот ваша строка: Это

Как видите, при выводе строки, введенной с клавиатуры, программа отображает только слово "Это", а не всю строку.

Дело в том, что оператор ">>" прекращает считывание строки, как только встречает символ пробела, табуляции или новой строки (будем называть эти символы пробельными).

Для решения этой проблемы можно использовать еще одну библиотечную функцию gets(). Общий формат ее вызова таков.

// Использование функции gets() для считывания

строки с клавиатуры.

#include <iostream>

#include <cstdio> using namespace std; int main()

{

char str[80];

cout << "Введите строку: ";

gets(str); // Считываем строку с клавиатуры.

cout << "Вот ваша строка: ";

cout << str;

return 0;

}

Язык C++ поддерживает множество функций обработки строк. Самыми распространенными из них являются следующие.

strcpy()

strcat()

strlen()

strcmp()

Для вызова всех этих функций в программу необходимо включить заголовок <cstring>.

strcpy (to, from);

Функция strcpy() копирует содержимое строки from в строку to.

Помните, что массив, используемый для хранения строки to, должен быть достаточно большим, чтобы в него можно было поместить строку из массива from. В противном случае массив to переполнится, т.е. произойдет выход за его границы, что может привести к разрушению программы.

#include <iostream>

#include <cstring> using namespace std; int main()

{

char str[80];

strcpy(str, "Привет");

cout << str;

return 0;

}

Соседние файлы в папке lekcii_1_10