Професионална програма
Loading...
+ Нов въпрос
DimovIvan avatar DimovIvan 6 Точки

"Основи на програмирането със C++"/Глава 10 Функции Задача: n-та цифра

https://cpp-book.softuni.bg/chapter-10-functions.html

Не мога да разбера защо ми гърми единият тест. Пробвах всякакви варианти  на входни данни и при всичките програмата ми работи коректно. Ако някой ми посочи грешка в кода ми ще съм много благодарен:

#include<iostream>
#include<string>
using namespace std;
void findNthDigit(int, int);

int main(){
int number, n;
cin >> number >> n;

findNthDigit(number, n);

return 0;
}
void findNthDigit(int number, int index){
    int counter = 0;
    while (number != 0){
        counter++;
        if (counter == index){
            cout << number % 10 << endl;
            break;
        }
        else {
            number /= 10;
        }
    }
}
 

Тагове:
0
Programming Basics
RaUndreundre avatar RaUndreundre 52 Точки
Best Answer

Никъде в условието не е казано че числото не може да бъде 0. Достатъчно е да замениш (number != 0) с (number >= 0) и ще получиш 100/100 вярно. Но Judge моожеха да включат и отрицателни стойности на входа и затова аз бих го корегирал кода така:

#include<iostream>
#include<string>
using namespace std;
void findNthDigit(int, int);

int main(){
int number, n;
cin >> number >> n;

findNthDigit(number, n);

return 0;
}
void findNthDigit(int number, int index){
    int counter = 0;
    while (true){
        counter++;
        if (counter == index){
            cout << abs(number % 10) << endl;
            break;
        }
        else {
            number /= 10;
        }
    }
}


 

0
07/03/2021 17:05:59
RaUndreundre avatar RaUndreundre 52 Точки

Прилагам линк към задачата в Judge.
https://judge.softuni.bg/Contests/Practice/Index/1374#10

0
12/03/2021 08:04:27
DimovIvan avatar DimovIvan 6 Точки

Благодаря за помощта, колега!

0
krum_43 avatar krum_43 535 Точки

                                                                     Здравей колега,                                                                                                          Не си дал линк към условито.Така написан кода връща цифрата на "n"-тиците на числото number,но при коректен вход.При вход н.р. 123 5 няма да изведе нищо.

0
10/03/2021 06:34:42