Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 29
1

Не проходит мой код тесты на сайте

27.01.2020, 19:15. Показов 1277. Ответов 11

Я выполняю задания на сайте. Написал код, который как по мне, хорошо выполняет свою функцию, но по какой то причине сайт не одабривает 6 тестов. Как только не пробывал, но в голову не приходят причины.

Задание:
Не проходит мой код тесты на сайте

Тест:
Не проходит мой код тесты на сайте

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{
    int i = 0;
    char text;
    text = getchar();
    while( text != '\n'){
        if (text >= 48 && text <= 57) {printf("%c", text);}
        text = getchar();
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2020, 19:15
Ответы с готовыми решениями:

Код на нахождение max длины последовательности не проходит все тесты
Уважаемые форумчане, здравствуйте. Нужен ваш совет. Условие задачи: Ввести n-ое кол-во строк не...

Не проходит тесты
Программа не проходит почему-то тесты, хотя вроде работает, подскажите пожалуйста на счёт EOF, мне...

Программа не проходит тесты
Здравствуйте, решаю задачу: Имеется список людей с указанием их фамилии, имени и даты рождения....

Не проходит все тесты
#include &lt;iostream&gt; #include &lt;cmath&gt; int main() { long long m, n; std::cin &gt;&gt; m &gt;&gt; n; ...

11
Мозгоправ
1729 / 1023 / 468
Регистрация: 01.10.2018
Сообщений: 2,136
Записей в блоге: 2
27.01.2020, 19:40 2
ilyaDobryak, попробуйте
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{
    int i = 0;
    int text;
    text = getchar();
    while(text != EOF && text >= 32) {
        if (text >= 48 && text <= 57) {printf("%c", text);}
        text = getchar();
    }
}
0
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 29
27.01.2020, 20:38  [ТС] 3
L0M, К сожалению нет((( Остались точно те же самые ошибки.
0
Параллельный Кот
1902 / 825 / 349
Регистрация: 25.03.2016
Сообщений: 2,041
27.01.2020, 20:48 4
Лучший ответ Сообщение было отмечено ilyaDobryak как решение

Решение

ilyaDobryak, коды цифр тоже попадают в диапазон [32; 254]. Пропускать промежуточные символы нужно явно. Контрпример: 192a3, ожидаем получить 123, ваша программа выводит 1923.
2
28 / 20 / 6
Регистрация: 19.11.2017
Сообщений: 90
27.01.2020, 20:52 5
ilyaDobryak, а можно сайтец с этими тестами?
0
75 / 48 / 28
Регистрация: 07.01.2019
Сообщений: 168
27.01.2020, 21:04 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
#include <string>
using namespace std;
 
string f(string str){
    string temp;
    for(int i = 0; i < str.size()-1;i++){
    if(isdigit(str[i])){
        temp += str[i];
    }
   }
    return temp;
}
 
int main(){
   string str;
   cin >> str;
   cout << f(str);
   return 0;
}
0
Параллельный Кот
1902 / 825 / 349
Регистрация: 25.03.2016
Сообщений: 2,041
27.01.2020, 21:10 7
Werewolf_7, не пробовали подавать на вход данные из Sample Input?
0
813 / 500 / 211
Регистрация: 19.01.2019
Сообщений: 1,196
27.01.2020, 21:57 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    char buff[BUFSIZ];
    char* it;
    bool skip(false);
 
    for (it = buff; (*it = getchar()) != '\n';) {
        if (!skip) ++it;
        skip = !skip;
    }
    *it = 0;
    printf("%s", buff);
    return 0;
}
0
Мозгоправ
1729 / 1023 / 468
Регистрация: 01.10.2018
Сообщений: 2,136
Записей в блоге: 2
27.01.2020, 23:08 9
Цитата Сообщение от ilyaDobryak Посмотреть сообщение
L0M, К сожалению нет(((
Значит не угадал. А вот идея valen10 здравая. Пробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int main()
{
    int i = 0;
    int text;
    bool dig = true;
    text = getchar();
    while(text != EOF && text >= 32) {
        if (dig)
            printf("%c", text);
        dig = !dig;
        text = getchar();
    }
}
0
1577 / 778 / 353
Регистрация: 17.11.2018
Сообщений: 1,968
27.01.2020, 23:24 10
Вопрос к ТС. А что должно происходить, если первый же введённый символ будет не цифра? Или, хотя бы, два любых, подряд идущих будут не цифры?
0
75 / 48 / 28
Регистрация: 07.01.2019
Сообщений: 168
28.01.2020, 00:39 11
Цитата Сообщение от Werewolf_7 Посмотреть сообщение
2

#include <iostream>
#include <string>
using namespace std;
string f(string str){
    string temp;
    for(int i = 0; i < str.size()-1;i++){
    if(isdigit(str[i])){
        temp += str[i];
    }
   }
    return temp;
}
int main(){
   string str;
   cin >> str;
   cout << f
Пробовал, что не так?
0
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 29
28.01.2020, 14:20  [ТС] 12
valen10, Спасибо. Подправил код под вашу идею, помогло.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2020, 14:20

Не проходит тесты по времени
Здравствуйте. Вот сижу перебираю олимпиадные задачи, и столкнулся с такой проблемой: ...

Программа с процедурами не проходит тесты
Добрый день Пишу сюда, так как не могу найти ошибку самостоятельно. Код программы с...

Программа не проходит некоторые тесты
Доброго времени суток, друзья! Решаю задачу: вывод стандартный вывод Дана строка, состоящая...

Программа не проходит определённые тесты
Вот такой вот вышел код для данной задачи но он почему-то не проходит выше второй группы хотя если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.