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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
home25_21
Сообщений: n/a
#1

Говорят Compilation error - C++

23.08.2011, 16:26. Просмотров 1191. Ответов 8
Метки нет (Все метки)

Решаю задачи на сайте ******** раньше решал на Паскале, сейчас решил учить С++...
пытаюсь решить эту задачу http://********/?main=task&id_task=5
Решил у меня ответ пишется, но на сайте когда сдаю пишет "Compilation error"... подскажите, пожалуйста...
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    FILE *in;
    FILE *out;
    in = fopen("input.txt","rt");
    out = fopen("output.txt","wt");
    fscanf(in,"%d\n",&n);
    printf("%d",n);
    int mas[n],t,ch;
    t=0;
    ch=0;    
    for (int i=1;i<=n;i++){
        fscanf(in,"%d ",&mas[i]);
        }
    for (int i=1;i<=n;i++){
        if (mas[i]%2==1) {fprintf(out,"%d ",mas[i]); t++;};
        }    
        fprintf(out,"\n");
    for (int i=1;i<=n;i++){
        if (mas[i]%2==0) {fprintf(out,"%d ",mas[i]); ch++;};
        }    
    if (ch>t) {fprintf(out,"\nYES");}
              else {fprintf(out,"\nNO");}
}
Добавлено через 2 минуты
И еще... поздно вспомнил... прошу знающих людей высказать своё мнение по поводу программы вобще...
то есть например "Зачем так с файлами работаешь??? Делай потоками!!! вот так:....."
буду очень признателен за любую конструктивную критику!!!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2011, 16:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Говорят Compilation error (C++):

Compilation Error - C++
Решал вот эту задачу: http://********/index.asp?main=task&amp;id_task=297 Код написал следующий: #include &lt;iostream&gt; #include...

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

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

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

Что имеют в виду, когда говорят о масштабируемости системы? - C++
Что имеют в виду, когда говорят о масштабируемости системы? Что такое масштабируемость? Хочется простого внятного определения, с простыми...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
23.08.2011, 16:42 #2
Уберите iostream и using namespace std; и вместо них поставьте
C
1
#inlclude <cstdio>
Ибо у вас код на чистом си, а хедеры от с++.

P.S. спасибо, что про задачу напомнили, +1 первое место в мою копилку =)
P.P.S. MSVC не поддерживает variable length arrays, размер массива должен задаваться константой.
Я про эту строчку
C
1
int mas[n],t,ch;
Jupiter
23.08.2011, 17:55
  #3

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
+1 первое место в мою копилку =)
там что по количеству символов расчет?

diagon
23.08.2011, 18:16
  #4

Не по теме:

Цитата Сообщение от Maxwe11 Посмотреть сообщение
там что по количеству символов расчет?
Угу...

zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
23.08.2011, 18:56 #5
А почему так не проходит?
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
#include <fstream>
 
int a[100], b,c, n;
 
main() {
 
    std::ifstream i("input.txt");
    std::ofstream o("output.txt");
 
    i>>n;
    for(; !i.eof();) {
 
        i >> n;
        if(n%2) o << n << ' ', c++;
        else a[b] = n, b++;
    }
 
    o<<'\n';
 
    for(n = 0; n < b; n++) {
        o<<a[n] << ' ';
    }
    o << '\n';
 
    b>c ? o<<"YES" : o << "NO";
}
WA на первом же тесте
Сыроежка
Заблокирован
23.08.2011, 19:14 #6
Цитата Сообщение от home25_21 Посмотреть сообщение
Решаю задачи на сайте ******** раньше решал на Паскале, сейчас решил учить С++...
пытаюсь решить эту задачу http://********/?main=task&id_task=5
Решил у меня ответ пишется, но на сайте когда сдаю пишет "Compilation error"... подскажите, пожалуйста...
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    FILE *in;
    FILE *out;
    in = fopen("input.txt","rt");
    out = fopen("output.txt","wt");
    fscanf(in,"%d\n",&n);
    printf("%d",n);
    int mas[n],t,ch;
    t=0;
    ch=0;    
    for (int i=1;i<=n;i++){
        fscanf(in,"%d ",&mas[i]);
        }
    for (int i=1;i<=n;i++){
        if (mas[i]%2==1) {fprintf(out,"%d ",mas[i]); t++;};
        }    
        fprintf(out,"\n");
    for (int i=1;i<=n;i++){
        if (mas[i]%2==0) {fprintf(out,"%d ",mas[i]); ch++;};
        }    
    if (ch>t) {fprintf(out,"\nYES");}
              else {fprintf(out,"\nNO");}
}
Добавлено через 2 минуты
И еще... поздно вспомнил... прошу знающих людей высказать своё мнение по поводу программы вобще...
то есть например "Зачем так с файлами работаешь??? Делай потоками!!! вот так:....."
буду очень признателен за любую конструктивную критику!!!
У вас непонятно, на каком языке написана ваша программа! Она не удовлетворяет ни стандарту С++, ни стандарту С. То есть ваша программа совершенно некорректная.

Я лишь могу предположить, судя по заданию размерности массива неконстатным выражением, что вы компилировали программу с помощью компилятора, который поддерживает стандарт С99. Но при этом совершенно непонятно, как у вас тогда "проскочил" в компиляции заголовок <iostream>.

Добавлено через 6 минут
Цитата Сообщение от zuq Посмотреть сообщение
А почему так не проходит?
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
#include <fstream>
 
int a[100], b,c, n;
 
main() {
 
    std::ifstream i("input.txt");
    std::ofstream o("output.txt");
 
    i>>n;
    for(; !i.eof();) {
 
        i >> n;
        if(n%2) o << n << ' ', c++;
        else a[b] = n, b++;
    }
 
    o<<'\n';
 
    for(n = 0; n < b; n++) {
        o<<a[n] << ' ';
    }
    o << '\n';
 
    b>c ? o<<"YES" : o << "NO";
}
WA на первом же тесте
У вас также программа является примером плохого стиля программирования. Во-первых, функция main должна быть объявлена как функция, возвращающая значение типа int. Во-вторых, для индексов используются переменные i, j, k, l, m, n, но никак не b. В-третьих, выражение


C++
1
    b>c ? o<<"YES" : o << "NO";
будет нагляднее выглядеть, если его переписать в виде


C++
1
   o << ( (  b > c ) ? "YES" :  "NO" );
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
23.08.2011, 19:17 #7
GCC позволяет компилировать variable length array для всех. И для C и для С++. Но на acmp не GCC.
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
23.08.2011, 19:23 #8
Цитата Сообщение от Сыроежка Посмотреть сообщение
У вас также программа является примером плохого стиля программирования. Во-первых, функция main должна быть объявлена как функция, возвращающая значение типа int. Во-вторых, для индексов используются переменные i, j, k, l, m, n, но никак не b. В-третьих, выражение
Я знаю. Писал так для сокращения объема кода
easybudda
23.08.2011, 22:22     Говорят Compilation error
  #9

Не по теме:

Цитата Сообщение от Сыроежка Посмотреть сообщение
для индексов используются переменные i, j, k, l, m, n, но никак не b
Возьмём m танков противника... Нет, m мало, n танков...
(с)Старая шутка про военных.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2011, 22:22
Привет! Вот еще темы с ответами:

Какие части шелл кода однозначно говорят что атака по переполнению буфера началась? - C++
Пишу снорт сигнатруру для выявления эксплоита, но по заданию не нужно весь шелл код сверять чтобы понять что атака началась.... ...

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

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'" - C++
#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; ...

Почему говорят "константная ссылка"? - C++
Это ведь неправильно. Вот к примеру, начнем с указателей. НЕ константный указатель на константу: const int * p или int const * p ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.08.2011, 22:22
Ответ Создать тему
Опции темы

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