Целочисленная арифметика.




Ввод и вывод числовых данных.

Задача № 1.25. Дана сторона квадрата. Найти его периметр.

Решение: Так как все стороны квадрата равны, периметр можно найти, умножив сдлину стороны на 4. Составим блок-схему к данной задаче, представленную (см. рис. 1).

Рисунок 1 - Блок-схема к задаче № 1.25

Далее составим программу, по которой будет выполняться данная
задача (Листинг 1). Резултат работы программы приведен на рисунке 2.

 

 


Листинг 1 – Ввод и вывод числовых данных.

________________________________________________________

#include <iostream> //описание функций работы с потоками ввода вывода

#include <conio.h> //описание функций работы с консолью

using namespace std;

 

//Главная функция

void main()

{

//Функция вывода русских символов в консоль

setlocale(LC_ALL,"Russian");

int a, res;

//Повторять операцию вычисления

do {

res = 0;

int result;

//Очистка консоли

system("cls");

cout << "1.Ввод вывод (1.25):" << endl << endl;

cout << "Введите длину квадрата:";

//Прием параметра

cin >> a;

//Проверка на правильность ввода данных

if (a<=0) cout << "ОШИБКА: Сторона не может быть отрицательной!" << endl << endl;

//расчет периметра

else

{

cout << endl << "-------РАСЧЕТ-------" << endl << endl;

//Расчет по формуле

result = 4*a;

//Вывод результата

cout << "Периметр квадрата равен: " << result << endl << endl;

}

cout << "Повторить (1) или выйти (другое число)? ";

cin >> res;

}

//Пока пользователь вводит 1 в конце каждой процедуры вычисления

while (res == 1);

return;

}

________________________________________________________

 

Рисунок 2 – Результат выполнения программы


Целочисленная арифметика.

Задача № 2.17. Дано трехзначное число. Найти число, полученное при перестановке второй и третьей цифр заданного числа.

Решение: для перестановки цифр трехзначного числа, сначала необходимо выделить эти цифры. Это можно сделать следующим образом:

1) Пусть дано число 654.

2) Разделим это число на 100, получим как результат – целое число 6 (количество сотен h=6) и остаток от деления (r=54). Запомним оба этих числа.

3) Теперь разделим получившийся в предыдущем пункте остаток на 10. Получим целое число 5 (количество десятков d=5) и остаток 4 (количество единиц i=4).

4) Теперь восстановим исходное число, но поменяем при этом разряды десятков и единиц местами:

Составим блок-схему к данной задаче (см. рис. 3).

Рисунок 3 - Блок-схема к задаче № 2.17


Далее составим программу, по которой будет выполняться данная
задача (Листинг 2). Резултат работы программы приведен на рисунке 4.

 

Листинг 2 – Целочисленная арифметика.

________________________________________________________

#include <iostream> //описание функций работы с потоками ввода вывода

#include <conio.h> //описание функций работы с консолью

using namespace std;

 

//Главная функция

void main()

{

//Функция вывода русских символов в консоль

setlocale(LC_ALL,"Russian");

int a, res, hundr, dec, integer, rest, result;

//Повторять операцию вычисления

do {

res = 0;

int result;

//Очистка консоли

system("cls");

cout << "2.Целочисленная арифметика (2.17):" << endl << endl;

cout << "Введите трехзначное число:";

//Прием параметра

cin >> a;

//Проверка на правильность ввода данных

if (a<100 || a>=1000) cout << "ОШИБКА: Число должно быть трехзначным!" << endl << endl;

//меняем 2ю и 3ю цифры местами

else

{

cout << endl << "-------РАСЧЕТ-------" << endl << endl;

//получаем количество сотен

hundr = a/100;

//получаем остаток от деления на 100

rest = a % 100;

//получаем количество десятков

dec = rest/10;

//получаем количество единиц

integer = rest % 10;

//теперь формируем результат, меняя десятки и единицы

result = hundr*100 + integer*10 + dec;

cout << "Число, в котором 2ю и 3ю цифру поменяли местами: " << result << endl << endl;

}

cout << "Повторить (1) или выйти (другое число)? ";

cin >> res;

}

//Пока пользователь вводит 1 в конце каждой процедуры вычисления

while (res == 1);

return;

}

________________________________________________________


Рисунок 4 – Результат выполнения программы

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: