Показаны сообщения с ярлыком while. Показать все сообщения
Показаны сообщения с ярлыком while. Показать все сообщения

22 февраля 2016 г.

Определить, является ли введённое число любой разрядности палиндромом (например, 1234321 – палиндром, 12345 – не палиндром).

int digit;
cout << "Enter digit:";
cin >> digit;

int old_digit = digit;
int new_digit = 0;
while (digit > 0)
{
int tmp = digit % 10;
new_digit = new_digit * 10 + tmp;
digit = digit / 10;
}
if (new_digit == old_digit)
cout << "palindrom" << endl;
else
cout << "No palindrom" << endl;
system("pause");

Написать программу, которая выводит на экран все "счастливые" номера трамвайных билетов и подсчитывает их общее количество.

for (int digit = 100000; digit <= 999999; digit++)
{
int first = 0;
int second = 0;
int tmp = digit;
while (tmp > 0)
{
if (tmp < 1000)
first += tmp % 10;
else
second += tmp % 10;
tmp /= 10;
}
if (first == second)
cout << digit << endl;
}
system("pause");

26 января 2016 г.

Сумма двух чисел.

int a, b;

char answer = 'Y';

while (answer != 'N'&&answer != 'n')

{

cout << "Enter first digit:";
cin >> a;
cout << "Enter second digit:";
cin >> b;
cout << "Summ = " << a + b << endl;
cout << "\nContinue (y,n):";
cin >> answer;
system("cls");//очистка экрана

}

system("pause");

Разработать систему передвижения 2D персонажа. Пользователь вводит координаты точки персонажа (х,у), координаты точки цели (х,у), частоту кадров (FPS), и скорость персонажа. Определить покадровое смещение для песонажа.

setlocale(0,"rus");

int x1, x2, y1, y2, fps, speed;

cout << "Введите координаты точки персонажа (х,у)" << endl;

cin >> x1 >> y1;

cout << "Введите координаты точки цели (х,у)" << endl;

cin >> x2 >> y2;

cout << "Введите частоту кадров (FPS)" << endl;

cin >> fps;

cout << "Введите скорость персонажа" << endl;

cin>>speed;

int steps=0;

while (x1 <= x2||y1 <= y2)

{

x1 += fps;
y1 += fps;
steps++;

}

cout << "Потребуется " << steps << " шагов" << endl;

system("pause");

Программа суммирует введенные числа, пока пользователь не введет "0", и выводит результат на экран.

int value=-1;

int summ = 0;

while (value != 0)

{

cout << "Enter number:";
cin >> value;
if (value > 0)
summ += value;
cout << endl << "Your summ " << summ << endl;
system("pause");
system("cls");

}

system("pause")

Пользователь вводит символ. Если это буква – перевести её в верхний регистр. Например из символа ‘a’ сделать ‘A’.

char symbol='y';



while (symbol != 'n' || symbol != 'N')

{

cout << "Enter symbol:";
cin >> symbol;
if (symbol > 96 && symbol < 123)
cout << (char)(symbol - 32) << endl;
else
cout << "Enter another symbol" << endl;
cout << "\nContinue (y,n):";
cin >> symbol;
system("cls");




}

system("pause");

Рассчитать время пути в метро. До каждой станции определенное время. Пользователь вводит номер станции метро и получает на экран сколько времени ему осталось ехать.

const double time=0.5;

int number;

cout << "Enter number of station:";

cin >> number;

double res = 0;

while (number)

{

res += time;
number--;

}

cout << "Time to distance " << res << " h" << endl;

system("pause");

Посещение 7-ми чудес света.

int visit = 0;

while (visit < 7)

{

cout << "You seen " << visit + 1 << " mir of world" << endl;
system("pause");
visit++;

}

system("pause");

Создать программу конвертер. Пользователю отображается меню из нескольких пунктов: //Конвертер: //1. грн – евро //2. евро – доллары //3. км – м //4. м - км //5. кг – г //6. г - кг

setlocale(0,"rus");

int answer = 1;

double digit;

const double uah_eur = 29.12;

const double eur_usd = 0.91;




while (answer)

{

cout << R"X(
Конвертор единиц
1.грн – евро
2.евро – доллары
3.км – м
4.м - км
5.кг – г
6.г - кг
)X" << endl;
cin >> answer;
switch (answer)
{
case 1:
cout << "Введите количество UAH:";
cin >> digit;
cout << digit / uah_eur << " EUR" << endl;
break;
case 2:
cout<< "Введите количество EUR:";
cin >> digit;
cout << digit / eur_usd << " USD" << endl;
break;
case 3:
cout << "Введите количество km:";
cin >> digit;
cout << digit * 1000 << " m" << endl;
break;
case 4:
cout << "Введите количество m:";
cin >> digit;
cout << digit / 1000 << " km" << endl;
break;
case 5:
cout << "Введите количество kg:";
cin >> digit;
cout << digit * 1000 << " g" << endl;
break;
case 6:
cout << "Введите количество g:";
cin >> digit;
cout << digit / 1000 << " kg" << endl;
break;
case 0:
break;
}
cout << "Чтобы выйти из программы, нажмите 0:";
cin >> answer;
system("cls");

}

system("pause");

Вывод строки из любого символа.

int size;

char sym;

cout << "Enter sym:";

cin >> sym;

cout << "Enter size:";

cin >> size;

while (size > 0)

{

cout << sym;
size--;

}

cout << endl;

system("pause");

25 января 2016 г.

Вычислить сумму чисел в заданном диапазоне.

int summ=0, d1, d2;
cout << "Enter begin range:";
cin >> d1;
cout << "Enter end range:";
cin >> d2;
if (d1 < d2)
{
while (d1 < d2)
{
summ += d1;
d1++;
}
}
else
{
while (d2 < d1)
{
summ += d2;
d2++;
}
}
cout << summ << endl;
system("pause");

Вычислить сумму четных чисел и произведение нечетных в заданном диапазоне.

double proizv = 1, summ = 0;
int d1, d2;
cout << "Enter begin range:";
cin >> d1;
cout << "Enter end range:";
cin >> d2;
if (d1 < d2)
{
while (d1 < d2)
{
if (d1 % 2 == 0)
summ += d1;
else
proizv *= d1;
d1++;
}
}
else
{
while (d2 < d1)
{
if (d2 % 2 == 0)
summ += d2;
else
proizv *= d2;
d2++;
}
}
cout << "Summ " << summ << endl;
cout << "Mult " << proizv << endl;
system("pause");

Вывести на экран таблицу символов в формате «ASCII-код – символ».

int digit=0;
while (digit < 256)
{
cout << "ASCII-code " << digit << " - Symbol " << (char)digit << endl;
digit++;
}
system("pause");

Написать программу, выводящую на экран только четные целые числа из диапазона от 1 до 20

int digit = 0;
while (digit <= 20)
{
if (digit % 2 == 0)
{
cout << digit << endl;
}
digit++;
}
system("pause");

Вывести на экран горизонтальную линию из звёздочек. Число звездочек указывает пользователь.

int digit;
cout << "Enter digit *:";
cin >> digit;
while (digit > 0)
{
cout << "*";
digit--;
}
cout << endl;
system("pause");

21 мая 2015 г.

Быстрая сортировка

template <typename T>
void quickSortR(T a[], int B, int E)
{
long i = B, j = E;
T temp, p;
p = a[(B+E)/2];
do
{
while ( a[i] < p ) i++;
while ( a[j] > p ) j--;
if (i <= j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
i++;
j--;
}
}while ( i<=j );
if(B<j)quickSortR(a, B, j);
if(i<E)quickSortR(a, i, E);
}

void main()
{
srand(time(NULL));
const long SIZE=10;
int ar[SIZE];
// до сортировки
for(int i=0;i<SIZE;i++){
ar[i]=rand()%100;
cout<<ar[i]<<"\t";
}
cout<<"\n\n";
quickSortR(ar,0,SIZE-1);
// после сортировки
for(int i=0;i<SIZE;i++){
cout<<ar[i]<<"\t";
}
cout<<"\n\n";
}

6 мая 2015 г.

Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью.

double des(double digit, int znak);

void main()
{
setlocale(LC_ALL, "Russian");
double digit;
do
{
cout << "Эта программа округляет указанное вещественное число с заданной точностью.\n";
cout << "Пожалуйста, введите число: ";
cin >> digit;
cout << "\nВведите количество знаков после десятичной точки, которые должны остаться: ";
int znak;
cin >> znak;
cout << "Ваше новое число - " << des(digit, znak) << "\n\n";
cout << "Если хотите продолжить, нажмите 1:";
cin >> digit;
} while (digit == 1);
}

double des(double digit, int znak)
{
int tmp = digit;//отделяем целую часть
digit -= tmp;//отделяем дробную часть
int tmp_znak = znak;
while (tmp_znak!=0)
{
digit *= 10;
tmp_znak--;
}
double drob = (int)digit;
while (znak!=0)
{
drob /= 10;
znak--;
}
return (double)tmp + drob;
}

23 апреля 2015 г.

Написать функцию, которая принимает число и возвращает количество цифр в этом числе

int dig(int digit);

void main()
{
setlocale(LC_ALL, "Russian");

int a;
do
{
cout << "Эта программа показывает количество цифр в числе.\nПожалуйста введите число: ";
cin >> a;
cout << "\nКоличество цифр в числе - " << dig(a) << "\n";
cout << "Если хотите продолжить, нажмите 1\n";
cin >> a;
} while (a == 1);
}

int dig(int digit)
{
int res = 0;
while(digit > 0)
{
res++;
digit /= 10;
}
return res;
}