Loading...
DimovIvan avatar DimovIvan 16 Точки

"Основи на програмирането със 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 54 Точки
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 54 Точки

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

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

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

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.