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

нет информации в выходном файле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить лишние пробелы http://www.cyberforum.ru/cpp-beginners/thread901321.html
Сделал програму для удаления лишних пробелов из строки(те что стоят в начале строки, в конце, все кроме одного между словами). Програма вроде работает, но если количесто пробелов(во всей строке) будет больше 5 то появляеться ошибка. Если до 5 то все нормально переделавает. Как решить ету проблему? #include <iostream> #include <string> using namespace std; void delete_spaces(string &str)...
C++ Перевод потока из файлового ввода/вывода в консольный ввод/вывод Есть кусок программы: freopen ("G:\\input.txt", "r", stdin); freopen ("G:\\output.txt", "w", stdout); //Открываем файлы - один для чтения, другой - для записи string a, b; cin >>a>>b; //Выводим два слова и записываем их в переменные a и b cout <<a<<" "<<b; //Вводим эти два слова в поток ввода - они запишутся в output.txt http://www.cyberforum.ru/cpp-beginners/thread901311.html
C++ Классы и деревья (найти ошибку в коде)
Проблема с удалением элемента из дерева. Когда удаляю элемент и вывожу дерево на экран программа зацикливается. Помогите исправить! #include "stdafx.h" #include "iostream" #include <fstream> #include <string> using namespace std;
Строки и функции пользователя. Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год» C++
Помогите пожалуйста с программой . Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год». Например, «15.03.10» превращается в «15 марта 2010». В программе использовать функции пользователя. Спасибо.
C++ Получить матричное произведение матриц http://www.cyberforum.ru/cpp-beginners/thread901303.html
1.Даны матрицы A, B. Вывести на печать матрицу А+В. 2.Получить матричное произведение матриц С и D. ребят помогите пожалуйста
C++ Строки. Совпадают ли первая и последняя буквы слова, является ли слово перевертышем, вычеркнуть из слова все буквы "а" и "б", стоящие на нечетных мест 1.Определите, совпадают ли первая и последняя буквы слова. 2.Определите, является ли слово перевертышем. 3.Вычеркните из слова все буквы "а" и "б", стоящие на нечетных местах. ребят помогите пожалуйста подробнее

Показать сообщение отдельно
большой
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 15
14.06.2013, 00:51     нет информации в выходном файле
Здравствуйте.По заданию (Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают)) написал код.Сначала надо было вводить данные с клавиатуры , а после переделки кода считывать из файла. Но при запуске выдает сообщение ,что введено не число.Выходной файл создается но пустой. Не могу найти ошибку в коде. Складывается впечатление ,что программа не может считать данные с файла , ибо из за ошибке в коде не видит данный файл и поэтому пишет такое сообщение.
Заранее спасибо.
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
#include <iostream>
#include <fstream>
#include <cstring>
 
int main()
 
{
    setlocale (0, "");
 
    int N ; // размерность массива
    std::ifstream input("input.txt"); // открытие файла для чтения данных
    std::ofstream output("output.txt"); // открытие файла для чтения данных
    input >> N; //чтение из файла размерности массива
    // проверка, можем ли мы проверить данный массив на промежутки монотонности или же он слишком мал
    if (N<=1)
    {
        std::cout<<"маленький массив.промежутки не сосчитать"<<std::endl;
        system ("pause");
    }
    else
    {
        int* array = new int[N];// отводим память под N элементов
        
        // после необходимых проверок, начинаем ввод массива с заданными параметра-ми с клавиатуры
           for (int i=0;i<N;++i)
           {
               input >> array[i];
               if (input.fail()) // проверяем, число ли содержится в файле
               {
                   std::cout<<"введено не число"<<std::endl;
                   system ("pause");
                   
               }
           }
           input.close(); // закрытие файла
           int intervals=1;  // переменная в которой будет храниться количество промежутков монотонности
           int rise=(array[1]>array[0])?1:0; // функция определяющая количество промежутков возрастания
           for (int i=1;i<N-1;++i)
               if (rise)
               {
                   if (array[i+1]<array[i])
                   {
                       rise=rise^1;
                       intervals++;
                   }
               }
               else
               {
                   if (array[i+1]>array[1])
                   {
                       rise=rise^1;
                       intervals++;
                   }
               }
               output<<"промежутков:"<<intervals<<std::endl; // выводим количество промежутков монотонности
               // и выводим заполненный массив.
               output<<"вот ваш массив:";
               for (int i=0;i<N;++i)
               {
                   output<<array[i]<<";";
               }
   output.close();
               return 0;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru