Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
 Аватар для Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49

Compilation Error

22.06.2012, 02:16. Показов 5177. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решал вот эту задачу:
http://acmp.ru/index.asp?main=task&id_task=297
Код написал следующий:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{
  freopen ("input.txt","r",stdin);
  freopen ("output.txt","w",stdout);
 
  int n=0, i=0, b=0;
  string s;
  cin>>s;
  n=s.length();
  for (i = 0; i<n; i++)
  {
    if ((s[i]=='6')||(s[i]=='9')||(s[i]=='0')) b++;
    else;
    if (s[i]=='8') b=b+2;
    else;
  }                                      
  cout << b;
}
У меня всё работает, ответы выдает правильные, а при отправке тамошний сервак выдает "Compilation Error". Что может быть не правильно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2012, 02:16
Ответы с готовыми решениями:

Говорят Compilation error
Решаю задачи на сайте acmp.ru раньше решал на Паскале, сейчас решил учить С++... пытаюсь решить эту задачу...

Почему Compilation error?
Дан некоторый набор букв и словарь. Ваша задача - подсчитать, сколько различных слов из словаря можно составить из этих букв. Входные...

C++11::templates::compilation failure
Почему не компилируется. Объяснить. template&lt; unsigned v = 10 &gt; class a { public: class b { std::vector&lt; char &gt; seq;...

9
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
22.06.2012, 02:34
может быть вместо #include <cstring> нужно #include <string> ?
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.06.2012, 02:49
А не легче использовать switch ?
В 17 строке зачем ; ?
Зачем нужна 19 строка?

Добавлено через 7 минут
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
  freopen ("input.txt","r",stdin);
  freopen ("output.txt","w",stdout);
  int b = 0;
  string s;
  cin>>s;
  for (int i = 0; i<s.length(); i++)
      switch(s[i])
      {
          case '6':
          case '9':
          case '0':
               b++;
               break;
          case '8':
               b+=2;
               break;
      }                                     
  cout << b;
}
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
22.06.2012, 02:53
Цитата Сообщение от Qwoort Посмотреть сообщение
C++
1
2
freopen ("input.txt","r",stdin);
 freopen ("output.txt","w",stdout);
эти функции включаются через хедер <cstdio>
0
 Аватар для Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
22.06.2012, 18:43  [ТС]
Цитата Сообщение от DU Посмотреть сообщение
может быть вместо #include <cstring> нужно #include <string> ?
Спасибо, помогло.
Могли бы вы объяснить, почему на сервере возникает ошибка, а у меня все нормально?

Есть еще одна задача, которая на сервере тоже выдает ошибку компиляции:
http://acmp.ru/index.asp?main=task&id_task=119

Код следующий:
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
#include<iostream>
using namespace std;
 
int main()
{
    
    freopen ("input.txt","r",stdin);
    freopen ("output.txt","w",stdout);
    int n;
    cin >> n;
    long int mas[n], t;
    int h,m,s;
    
    for (int i=0; i<n; i++)
    {
        cin >> h >> m >> s;
        mas[i]= s + m*60 + h*3600;
    }
    
    for (int j=0, k, min; j<n; j++)
    {   
        min=mas[j];
        
        for (int i=j; i < n; i++)
        {
            if (mas[i] <= min) 
            {
                min=mas[i];
                k = i;
            }
            else;
        }
        t=mas[j];
        mas[j]=mas[k];
        mas[k]=t;
    }
 
    for (int i=0; i<n; i++)
    {
        h=mas[i]/3600;
        m=(mas[i]%3600)/60;
        s=(mas[i]%3600)%60;        
        cout << h << " " << m << " " << s << endl;
    }
}
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
22.06.2012, 21:32
Цитата Сообщение от Qwoort Посмотреть сообщение
Спасибо, помогло.
Могли бы вы объяснить, почему на сервере возникает ошибка, а у меня все нормально?
есть стандарт, в котором говорится, что std::string доступен через хедер string

по-факту компиляторы этот хедер могут включить через другой - но такой код будет зависить от компилятора
в вашем компиляторе либо есть заранее подключенные хедеры, либо он подключается через iostream
на том компиляторе - по-другому

не включаете нужные хедеры - ожидайте ошибок на других компиляторах

Добавлено через 1 минуту
Цитата Сообщение от Qwoort Посмотреть сообщение
C++
1
freopen ("input.txt","r",stdin);
через какой хедер в вашей программе она объявляется?
0
 Аватар для Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
24.06.2012, 14:18  [ТС]
Цитата Сообщение от alex_x_x Посмотреть сообщение
через какой хедер в вашей программе она объявляется?
Не понял вопрос...
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
24.06.2012, 14:38
в некоторые стандартные инклуды могут включатся другие стандартные инклуды. и это на разных помпиляторах по разному. например, в файле iostream в одних компиляторах может присутствовать строчка #include <string>, а в других компиляторах нет. тогда такоей код в первых компиляторах будет компилится, а во вторых нет.
C++
1
2
3
4
5
6
7
#include <iostream>
int main()
{
  std::string str = "sdsfdsf";
  std::cout << str << std::endl;
  return 0;
}
Так вот если это компилируется, то инклуд <string> для типа std::string попал за счет того, что он инклудится в iostream.

Тоже самое и с freopen. Эта функция видна за счет того, что ее хидер тоже упоминается <iostream> или в инклуде, который включен в iostream. По правильному, если вы используете какое-то имя (функцию или класс) в программе, то нужно включать тот инклуд, в котором это имя объявлено. Если же оно включено через инклуды-посредники, то такой код может запросто не компилироваться на других компиляторах/библиотеках.
0
 Аватар для Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
24.06.2012, 14:40  [ТС]
Всё, всем спасибо, разобрался сам. Все дело было в строке 12. Тот сервер использует Visual C++, а я обычно использую DevC++. В итоге я решил компильнуть программу в Visual C++. Сразу появились ошибки, и в итоге, разобравшись с ошибками и поменяв единственную 12 строку как ниже, все заработало.
C++
1
long int mas[1000], t;
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
25.06.2012, 11:03
ну да, это код для с99 таки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2012, 11:03
Помогаю со студенческими работами здесь

No such file or directory compilation terminated
Из-за чего возникает такая ошибка? Или он не видит библиотеку, если не видит, то как подключить?

Исправить ошибку в WxDev-C++: Error with debugging process: GDB Error: error, No source file named main.cpp
Здравствуйте товарищи! Новенький я в си, установил wxDev-C++, скомпилировал, запускаешь - работает, а чтоб пошагово отладка - не...

Error LNK1120, error LNK2019, error LNK2028, queue
// свойство класса Parser queue&lt;elem*&gt;* postfix = new queue&lt;elem*&gt;; // строка, из-за которой происходит ошибка ...

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'"
#include&lt;iostream&gt; using namespace std; int main(){ int x, a = 0, b = 10; (cin &gt;&gt; x).get(); while (x){ int c = x % 10; ...

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR'
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru