Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
46
Добавлен:
28.03.2015
Размер:
252.93 Кб
Скачать

Возможность построения прямоугольного треугольника

Необходимо проверить, может ли быть построен прямоугольный треугольник по длинам сторон A,B,Cпри условии, чтоAявляется гипотенузой. Мы воспользуемся теоремой Пифагора, при этом необходимо задать разумную точность сопоставления сторон треугольника. Программа, решающая поставленную задачу, представлена в листинге 2.21.

Листинг 2.21. Проверка возможности построения треугольника

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

float A,B,C;

cout << "Введите значение гипотенузы:";

cin >>A;

cout << "Введите значение 1-го катета:";

cin >>B;

cout << "Введите значение 2-го катета:";

cin >>C;

if (abs(sqrt(C*C+B*B)-A)<0.1)

cout << "Прямоугольный треугольник может быть построен";

else

cout << "Прямоугольный треуг-к не может быть построен";

_getch();

}

Представление слова с учетом падежа

С клавиатуры вводится денежная сумма в рублях в числовом формате. Программа должна напечатать введенную сумму с правильной формой падежа слова "рубль". Например, "23 рубля" или "51 рубль".

Понятно, что окончание, используемое для слова "рубль", зависит от последних цифр суммы. Самую последнюю цифру можно получить, если взять остаток от деления на 10. Однако если в сумме последние две цифры расположены в интервале от 11 до 14 включительно, то окончание меняется. Используя эту информацию, составим следующую программу (листинг 2.22).

Листинг 2.22. Написание слова "рубль" с учетом падежа

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

int R,A,B;

cout << "Введите число рублей";

cin >>R;

A=R % 10;

B=R % 100;

cout <<"\n"<<R<<" ";

if((B==11)||(B ==12)||(B==13) ||(B == 14)||(A>4)||(A==0))

cout << "рублей";

else if (A == 1)

cout << "рубль";

else

cout << "рубля";

_getch();

}

Формирование таблицы стоимости товаров

Известна стоимость единицы товара. Необходимо составить таблицу стоимости 1, 2, 3, ..., Kединиц товара, при этом значениеKвводится с клавиатуры. Так как число единиц товара целое, то для него выберем типinteger. Для цены, соответственно, определим вещественный тип данных. Необходимая программа приведена в листинге 2.23.

Листинг 2.23. Формирование таблицы стоимости товаров

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

float Tsena;

int I,K;

cout << "Стоимость единицы товара:";

cin >>Tsena;

cout << "\nКоличество единиц товара:";

cin >>K;

for (I=1; I<=K; I++)

{ printf("\n%d",I);

printf("%10.2f",I*Tsena); }

_getch();

}

Поиск чисел

Найти (программно) все двузначные числа, в записи которых имеется цифра 3 и одновременно само число делится на 3. Здесь мы воспользуемся операторами цикла и условия (листинг 2.24).

Листинг 2.24. Поиск чисел по условию

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

int A,I;

for (I=10; I <=99; I++)

{

if (((I % 3) == 0) && (((I % 10) == 3)||((I/10) == 3)))

cout << "\n"<<I;

}

_getch();

}

Еще один похожий пример. Требуется найти все целые числа в интервале от 100 до 999, сумма цифр которых больше произведения этих цифр. Программа приведена в листинге 2.25, а сам алгоритм программного поиска таких чисел представлен на рис. 2.18.

Листинг 2.25. Поиск чисел по условию

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

long A,B,C,X,Z,I;

for (I=100; I<= 999;I++)

{

A= I % 10;

B= I / 100;

C= (I % 100) / 10;

X=A*B*C;

Z=A+B+C;

if (Z > X)

cout <<I<<" ";

}

_getch();

}

Рис. 2.18. Блок-схема к программе листинга 2.25

Соседние файлы в папке файлы по информатике