Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОтветыЭкзамОАиП1сем.docx
Скачиваний:
10
Добавлен:
30.01.2023
Размер:
2.09 Mб
Скачать

Void main()

{ char str[100];

cout << "Vvedite stroku: ";

cin.getline(str, 100);

int count = 0;

char* p = str;

while(*p != '\0')

{ p++;

count++;

}

cout << "Kol=" << count << endl;

}

Здесь используется cin.getline, чтобы иметь возможность прочитать строку с пробелами.

Эта функция требует три аргумента – массив символов, в котором должна храниться строка текста, длина массива и символ-ограничитель:

char А[10];

cin.getline(А, 10, '\n');

Функция прекращает считывать символы, если встречается символ-ограничитель  '\n' или, если количество считанных символов оказывается на один меньше, чем указано во втором аргументе. Третий аргумент имеет '\n' в качестве значения по умолчанию, так что в вызове функции его можно опустить. Можно указать другой символ-ограничитель.

Фрагменты программ

1. Сравнение строк с использованием станд. функции

#include <cstring>

. . . . . . . . . . . . . . . . . .

if (strcmp(name1, name2) == 0)

puts("Имена совпадают");

else

puts("Имена не совпадают");

Другой вариант сравнения

char string1[] = "The quick ";

char string2[] = "The QUICK ";

Int result;

result = strcmp( string1, string2 );

if( result > 0 )

cout<< "В 1 строке символов больше";

else

if( result < 0 )

cout<<"В 1 строке символов меньше";

else

cout<< "Количество символов равно";

2. Копирование строк с использованием станд.функции

3. Отображение строки в обратном порядке

#include <iostream>

Void main()

{ char name[20];

int ind, c;

gets(name);

c = strlen(name);

for(ind = c; ind > 0; ind--)

std::cout<<name[ind-1];

}

30. Логические переменные и примеры их использования в программах.

Логические переменные — это переменные, диапазон которых состоит только из двух возможный значений: true (1) и false (0).

Для объявления логической переменной используется ключевое слово bool.

Инициализировать логическую переменную или выполнить операцию присваивания можно с помощью ключевых слов true или false:

bool b1 = true; // копирующая инициализация

bool b2(false); // прямая инициализация

bool b3 { true }; // uniform инициализация (C++11)

b3 = false; // операция присваивания

Аналогично работе унарного оператора минус (-), с помощью которого мы можем сделать число отрицательным, с помощью логического оператора НЕ (!) мы можем изменить true на false и наоборот (false на true):

bool b1 = !true; // значение b1 - false

bool b2(!false); // значение b2 - true

На самом деле, логические значения не сохраняются как «true» или «false». Они обрабатываются в виде целых чисел: вместо true — единица, вместо false — ноль.

Следовательно, если мы попытаемся вывести логические значения с помощью std::cout, то увидим либо 0, либо 1:

Если вы хотите, чтобы std::cout выводил «true» или «false» (вместо целых чисел), то тогда используйте std::boolalpha:

#include <iostream>

int main()

{

    std::cout << true << std::endl;

    std::cout << false << std::endl;

    std::cout << std::boolalpha; // выводим логические значения как "true" или "false"

    std::cout << true << std::endl;

    std::cout << false << std::endl;

    return 0;

}

Результат выполнения программы выше:

1 0 true false

Очень часто логические переменные используются в ветвлениях if.