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

Программа не проходит тест на acmp.ru - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дириктория действующего файла; Содержание папки; http://www.cyberforum.ru/cpp-beginners/thread551462.html
1) Как получить строку , или что-то типа того, содержащую путь к выполняемой программе или каталогу, где эта программа выполняется? Пример: выполняется программа "C://root/progs/a.exe", как внутри программы получить строку, которая написано в скобках? Или такую строку: "C://root/progs/", не важно. Аналог на php: $_SERVER; 2) Как получить что-нибудь вроде массива из имен всех файлов, лежащих в...
C++ Обработка одномерных динамических массивов 1. Удалить из массива положительный элемент. 2. Вставить число 99 после второго элемента массива. 3. Удалить все элементы, кратные 3 или 8. 4. Вставить по одному элементу перед всеми элементами, кратными числу 17. 5. Вставить по одному элементу перед всеми нечетными элементами. http://www.cyberforum.ru/cpp-beginners/thread551461.html
C++ В двумерном массиве определить количество строк, содержащих элементы равные -47
1. В двумерном массиве, элементами которого являются целые числа, подсчитать среднее арифмитическое элементов кратных 31. 2. В двумерном массиве определить кол-во строк, содержащих элементы равные -47. 3. В двумерном массиве для каждого столбца найти сумму положительных элементов, кратных 13 и записать данные в новый массив. 4. В двумерном массиве размерности (3х5) поменяйте местами...
Поиск и замена в Memo C++
Требуется организовать поиск в Memo через FindDialog, Однако получается найти и выделить только самое первое совпадение. Как перейти дальше и искать все совпадения до конца? int SelPos = Memo1->Lines->Text.Pos(FindDialog1->FindText); if (SelPos > 0) { Memo1->SetFocus(); Memo1->SelStart = SelPos - 1; Memo1->SelLength = FindDialog1->FindText.Length(); }
C++ сортировка линейного списка перестановками http://www.cyberforum.ru/cpp-beginners/thread551448.html
я написал алгоритм который будет просто менять поля value а не перенаправлять указатели, но программа не работает правильно не могли бы вы мне показать где ошибки #include <iostream> #include <fstream> using namespace std; struct tElem { int value; tElem *next;
C++ Написать программу учета на авиабилеты. Написать программу учета на авиабилеты. Каждая заявка содержит: пункт назначения номер рейса фамилию и инициалы пассажира желаемую дату вылета. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.04.2012, 04:17     Программа не проходит тест на acmp.ru
Цитата Сообщение от Buckstabue Посмотреть сообщение
Как вы считаете, нет ли здесь какой-нибудь ошибки?
если не проходит какой-нибудь тест, то ошибка точно есть. Вот так проходит все тесты:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <fstream>
#include <string>
 
 
int main()
{
  char **tablo = NULL;
  int temp = 0;
  bool superBreak = false; // супер пупер выход из всех циклов
  size_t rows = 0;
  size_t columns = 0;
  std::ifstream fin("input.txt");
  std::ofstream fout("output.txt");
 
  fin >> rows >> columns; // получение размеров массива
  tablo = new char*[ rows ]; // создание динамического массива
  for ( size_t i = 0; i < rows; ++i )
  {
     tablo[i] = new char[ columns ];
  } 
  
  std::string curLine; // для хранения текущей строки
  std::getline(fin, curLine ); // перейти на новую строку
  for (size_t  i = 0; i < rows; ++i ) // инициализация табла
  {
      std::getline( fin, curLine );
      for (size_t j = 0; j < columns; ++j )
      {
         tablo[i][j] = curLine[j];
      }
  }
/* если это раскоментировать, то будет произведен вывод только отладочной информации и выход */
/*  for (size_t  i = 0; i < rows; ++i )
  {
      for ( size_t j = 0; j < columns; ++j )
      {
         fout << tablo[i][j];
      }
      fout << std::endl;
  }
  return 0;*/
 
  for (size_t i = 0; i < rows && !superBreak; ++i )
  {
      for ( size_t j = 0; j < columns && !superBreak; ++j )
      {
         fin >> temp;
         switch( tablo[i][j] )
         {
            case '.':
               break;
            case 'R':
               if ( temp < 4 )
               {
                  superBreak = true;
               }
               break;
            case 'G':
               if ( !( temp == 2 || temp == 3 || temp == 6 || temp == 7 ) )
               {
                  superBreak = true;
               }
               break;
            case 'B':
               if ( temp % 2 == 0 )
               {
                  superBreak = true;
               }
               break;
            default:
//               throw (-1); // ловушка для ошибок, когда именно в этой строчке
                             // случается RuntimeError, то массив инициализирован некорректно
               break;
         }
      }
  }
 
  if ( !superBreak ) // если не произведен досрочный выход из цикла, то там всё ок
     fout << "YES";
  else               // иначе какой-то пиксель не способен отобразить заданный цвет
     fout << "NO";
 
  fout.close();
  fin.close();
 
  return 0;
}
 
Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru