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

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

Войти
Регистрация
Восстановить пароль
 
Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
#1

Не могу понять в чем ошибка - C++

10.12.2012, 21:43. Просмотров 392. Ответов 5
Метки нет (Все метки)

Добрый вечер, есть задача: ********/index.asp?main=task&id_task=315

Я решаю ее таким образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
 
char x,k,p;
 
int main()
{
    std::fstream I("input.txt"), O("output.txt", 2);
    k = I.get();
    while(I && k != 13)
    {
        if (!((k > 47 && k < 58) || 
                    (k > 64 && k < 91)) ) p = 0;
        if(k > x) x = k; k = I.get();
    }
    O << ((x != 48) ? ((!p) ? (x < 58) 
                        ? x - 47 : x - 54 : -1) : 2); 
}
У меня на компьютере все работает как надо, без ошибок. На ms visual c++, на сервере тоже стоит компилятор visual c++

Но когда отправляю на сервер для проверки, то выдает ошибку при компиляции.

В чем можнт быть проблема?

PS sorry за гавнокод, это просто я писал таким извращенным кодом, дабы уменьшить размер кода.

Добавлено через 7 минут
Вот от сервера приходят ошибки:
Код
task.cpp
task.cpp(11) : error C2678: binary '&&' : no operator found which takes a left-hand operand of 
type 'std::fstream' (or there is no acceptable conversion)
task.cpp(11) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Чем ему мой оператор && не устраивает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 21:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу понять в чем ошибка (C++):

Не могу понять в чем ошибка?! - C++
Задание: -Визначити кількість вузлів дерева, в яких є два нащадки. -функция добавления елемента -функцию удаления елемента -функцію...

не могу понять в чем ошибка - C++
Задание: Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него массив четных положительных...

Не могу понять в чем ошибка - C++
#include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int main(){ double a,b,c; double x1,x2,D,x; printf(&quot;Enter a b...

Не могу понять в чем ошибка - C++
Всем доброго время суток целый день бьюсь, не понимаю в чем ошибка: #include &lt;iostream&gt; using std::endl; int myFunc(unsigned short...

Не могу понять в чем ошибка? - C++
#include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;graphics.h&gt; #include &lt;math.h&gt; #include &lt;process.h&gt; ...

не могу понять в чем ошибка - C++
Вот мое задание: Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Х до Х с шагом dx. Функция F: -ax^2...

5
rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 192
Завершенные тесты: 1
10.12.2012, 21:47 #2
Арсен_, попробуй написать через freopen, должно помочь
1
Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
10.12.2012, 21:52  [ТС] #3
Цитата Сообщение от rinat_w Посмотреть сообщение
Арсен_, попробуй написать через freopen, должно помочь
Спасибо, но вряд ли эв этом проблема.
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
10.12.2012, 21:54 #4
Цитата Сообщение от Арсен_ Посмотреть сообщение
C++
1
while(I && k != 13)
C++
1
while(!I.eof() && k != 13)
Цитата Сообщение от Арсен_ Посмотреть сообщение
if(k > x)
x нигде не инициализировано.
1
Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
10.12.2012, 22:55  [ТС] #5
PS изменил на это разаботало

Код
std::ifstream I("input.txt");
	std::ofstream O("output.txt");
Но почему первый способ не пашет?

Добавлено через 1 час 1 минуту
Цитата Сообщение от kazak Посмотреть сообщение
C++
1
while(!I.eof() && k != 13)
x нигде не инициализировано.

Спасибо, а почему while(I && k != 13) не работает ? Ведь оно пости ту же функцию выполняет, они должно вернуть ложь если I.eof(); или нет?

> нигде не инициализировано

Во всяком случае это работает))
Это мне местные форумчане подсказали, если переменная объвлена как глобальная, то она сама инициализируется.
int a; инициализируется 0
char b; инициализируется NULL - если не ошебаюсь)
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,244
10.12.2012, 23:17 #6
Цитата Сообщение от Арсен_ Посмотреть сообщение
Это мне местные форумчане подсказали, если переменная объвлена как глобальная, то она сама инициализируется.
правильно подсказали глобальные переменные инициализируются 0

Цитата Сообщение от Арсен_ Посмотреть сообщение
I.eof(); или нет?
нет
это означает конец файла а
C++
1
while(I
равносильно
C++
1
while(I!=NULL
т.е файл не открылся
может быть
C++
1
 I &&
ищет переопределенный && для потока

Добавлено через 11 минут
Цитата Сообщение от Арсен_ Посмотреть сообщение
k != 13
вот это можешь уменьшить на 1 знак
k - 13
1
10.12.2012, 23:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2012, 23:17
Привет! Вот еще темы с ответами:

Не могу понять в чем ошибка? - C++
Выдает ошибки а в чем проблемма не пойму (программирую недавно) Unit1.cpp(94): W8004 'p' is assigned a value that is never used ...

Не могу понять в чем ошибка - C++
Мне нужно сделать менюшку, в которую я записываю данный в бинарный файл, но после ввода имени, у меня выдает 2 cout'a и не могу ввести...

Не могу понять в чем ошибка - C++
Дано задание: &quot;Имеется текстовый файл. Игнорируя исходное деление этого файла на строки, переформатировать его, разбивая на строки так,...

Не могу понять в чем ошибка - C++
написать программу в CodeBlocks, никак не могу понять в чем ошибка. Найти периметр эллипса по двум радиусам. #include &lt;iostream&gt; ...


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

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

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