Помогите пожалуйста срочно программу дописать надо
Условие: Дан ряд подряд записанных двузначных чисел 1011121314151617181920....949596979899 Найти какая !!!ЦИФРА!!!! стоит на позиции n принимающем значения от 1 до 180??? ИСПОЛЬЗОВАТЬ ТОЛЬКО УСЛОВНЫЙ ОПЕРАТОР, циклы только для оформления программы.
Текст программы:
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int p, n;
char ch;
do {
cout<<"Введите позицию цифры в последовательности двузначных чисел ";
cin>>n;
while (n<1 || n>180)
{
cout<<"Позиция цифры не может быть "<
}
p=n%2;
if (p==0)
{p=n -1; p/=2; p=abs(p);
cout<<"На позиции "<
} while ( ch == 'y' || ch == 'Y' );
return 0;
}
Не могу понять где ошибка. Программа ругается на цифру 9 и начиная с 20-ой позиции выводит чушь. Помогите пожалуйста разобраться, заранее огромное человеческое спасибо!!!
Программа неправильно скопировалась, вот нормальная программа:
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int p, n;
char ch;
do {
cout<<"Введите позицию цифры в последовательности двузначных чисел ";
cin>>n;
while (n<1 || n>180)
{
cout<<"Позиция цифры не может быть "<
}
p=n%2;
if (p==0)
{p=n -1; p/=2; p=abs(p);
cout<<"На позиции "<
} while ( ch == 'y' || ch == 'Y' );
return 0;
}
ОПЯТЬ Неправильно скопировалось)) )
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int p, n;
char ch;
do {
cout«"Введите позицию цифры в последовательности двузначных чисел ";
cin»n;
while (n<1 || n>180)
{
cout«"Позиция цифры не может быть "«n«" !!!Введите позицию от 1 до 180: ";
cin»n;
}
p=n%2;
if (p==0)
{p=n -1; p/=2; p=abs(p);
cout«"На позиции "«n«" находится цифра "«p«endl;}
else
{
p=n/20+1;p%=2; p=abs(p);
cout«"На позиции "«n«" находится цифра "«p«endl;}
cout « "Выполнить программу еще раз? (y/n): ";
cin.clear();
cin.sync();
cin » ch;
} while ( ch == 'y' || ch == 'Y' );
return 0;
}