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

Считывание из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ из cstdio в fstream http://www.cyberforum.ru/cpp-beginners/thread1019239.html
вод программа, написанная через функцию cstdio #include "stdafx.h" #include <cstdio> #include <iostream> #pragma warning(disable: 4996) using namespace std; int main() {
C++ Перемножение матриц Как сделать перегрузку *= для матриц ?! Был такой вариант: Matrix& Matrix::operator *= (const Matrix &rhs) { Matrix result(*this); for (i=0; i<N; i++) { for (j=0; j<M; j++) {... http://www.cyberforum.ru/cpp-beginners/thread1019227.html
Пояснить работу цикла C++
Привет всем Ребята помогите расскажите мне как работает этот Код точнее команда for в нете инфы много ну ни как не могу понять #include <iostream> using namespace std; int main() { int i;...
Вывод массива C++
Не могу вывести массив после нахождения суммы. Прошу помочь или подкиньте-ка идею) void c(int **m, int s, int r) { for (int j = 0; j < r; j++) { int sum = 0; for...
C++ Найти разницу в днях http://www.cyberforum.ru/cpp-beginners/thread1019199.html
Найти разницу в днях между двумя заданными датами. Даты вводить с клавиатуры. Не знаю как написать,возникают вопросы , а как быть с высокосными годами, разным количеством дней в месяцах? И как...
C++ Выделить подстроку, задающую вещественное число с фиксированной точкой Задание: Из строки, состоящей из букв, цифр, запятых, точек, знаков + и – , выделить подстроку, задающую вещественное число с фиксированной точкой. Не знаю как мне в программе перебрать... подробнее

Показать сообщение отдельно
katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
26.11.2013, 06:20
$ g++ -c test.cpp -o t.o
test.cpp: В функции «int main()»:
test.cpp:21:18: ошибка: ошибка преобразования «std::basic_ios<_CharT, _Traits>::eof<char, std::char_traits<char> >» из типа «bool (std::basic_ios<char>:()const» в тип «bool»
while(!input.eof)
^
test.cpp:21:18: ошибка: in argument to unary !

Условие цикла надо поправить.

Добавлено через 17 минут
C++
1
while(!input.eof())
Вызывать нужно функцию!

Добавлено через 4 минуты
Отчего-то у меня
C++
1
change()
ничего на выводе не меняет!

Добавлено через 10 минут
Bash
1
2
$ cat input.txt
4 2 6 78 -9 22
Bash
1
2
$ cat output.txt
4 2 6 78 -9 22 -1651670384
Последняя цифра постоянно меняется, но я подозреваю, что это может быть выход за пределы массива.
Я так понял исходные цифры должны как-то меняться местами?

Добавлено через 24 минуты
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
//test.cpp
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream input("input.txt");
    ofstream output("output.txt");
 
    void change(int &a, int &b);
    const int MAX = 100;
    int mas[MAX];
    int k = 0;
    while(!input.eof())
    {
        input >> mas[k++];
    }
    for(int i = 0; i < k - 1; i++)
    {
        for(int j = 1; j < k; j++)
        {
            if(mas[i] < mas[j])
            {
                change(mas[i], mas[j]);
                cout << "Change!" << endl; // Для отладки.
            }
            else
            {
                cout << "No change!" << endl; // Для отладки.
            };
        }
    }
    for(int i = 0; i < k; i++)
        output << mas[i] << ' ';
 
    return 0;
}
 
void change(int &a, int &b)
{
    int buf;
    buf = a;
    a = b;
    b = buf;
}
Если без указателей, то будет использоваться локальная переменная внутри функции change(), которая никак не связана с main().
Над выходом за пределы массива подумайте сами.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru