Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Задача: Отгадать цифру, проверить на честность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стек http://www.cyberforum.ru/cpp-beginners/thread648922.html
Здравствуйте,помогите найти понятную реализую кода стека с объяснениями.заранее благодарю Добавлено через 27 секунд Не STL
C++ Функция вычисления корней квадратного уравнения Почему то корни не выводит...что не так? #include "iostream" #include "conio.h" #include "math.h" using namespace std; void root(float a,float b,float c,float &x1,float &x2) { float... http://www.cyberforum.ru/cpp-beginners/thread648920.html
C++ Вычислить с заданной точностью значение функции
вот такая задачка..
Ошибка в организации класса C++
Мои первые попытки написать консольную версию пошагового боя обвенчались неудачей в самом начале. При тестовых ударах в цикле for увидел что очки жизней персонажа не уменьшаются, тк кк задумывалось....
C++ Описать функцию, которая формирует список Common http://www.cyberforum.ru/cpp-beginners/thread648898.html
В составе программы описать функцию, которая формирует список Common, включив в него элементы, которые входят одновременно в список М1 и М2. Помогите пожалуйста, ибо идей вообще нет, как это...
C++ Необходимо вернуть значение функции из Булевского значения и посчитать факториал Стоит задача- Написато программу которая спрашивает пользователя - Рост, вес, и возраст а затем выдаёт размер одежды по след. формулам: 1) Hat_size = вес/Рост*2.9; 2) Jacket_size = вес*Рост/288 и... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.09.2012, 17:40
Цитата Сообщение от arreke Посмотреть сообщение
Могу, только врядли это что даст, задание на китайском, я в Пекине учусь.
я не смог зарегистрироваться, поэтому просто напишу свои замечания.
У Вас в коде предусмотрено что входные данные могут оканчиваться 0, перед которым нет строки: right on.
И в этой части есть ошибка. Вот тест для выявления этой ошибки:
3
too high
2
right on
8
too low
7
too low
0
Сама ошибка здесь (см комментарии):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    fgets( number, 256, stdin ); n = atoi(number);
    if (n==0) {
      if ((sumLow==0) && (sumHigh==0)) continue;
      sprintf( daAn, "Tom may be honest");
      min = memLow[0]; for (i=1; i<sumLow; i++) { if (memLow[i] > min) { min = memLow[i]; } }// в этой строке min = memLow[0]; , но ведь может быть что sumLow равно 0, а значение memLow[0] Вы берете с предыдущей игры
      max = memHigh[0]; for (i=1; i<sumHigh; i++) { if (memHigh[i] < max) { max = memHigh[i]; } }// тоже самое для max = memHigh[0];
      //printf("%d %d\n", min, max);
      if ((min+1 >= max) && (sumLow>0) && (sumHigh>0)) { sprintf( daAn, "Tom is dishonest"); }
      if ((min>=10) && (sumLow>0)) { sprintf( daAn, "Tom is dishonest"); }
      if ((max<=1) && (sumHigh>0)) { sprintf( daAn, "Tom is dishonest"); }
      printf("%s\n", daAn);
      continue;
    }
Если исправление этой ошибки не поможет, то может быть (я не увидел таких ограничений во входных данных), что за одну игру Jerry называет более 10 чисел (некоторые несколько раз). А массивы для хранения этих чисел всего на 10 элементов:

Цитата Сообщение от arreke Посмотреть сообщение
C++
1
memLow[10], memHigh[10],
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru