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

Файлы. Удалить все числа между первым максимальным и последним минимальным числом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вижуал СИпп 2010 ошибка при компиляции http://www.cyberforum.ru/cpp-beginners/thread780849.html
Приветствую, форумчане! Установил Visual CИ++ работал исправно, ни с того ни с сего выдает при компиляции ошибку Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: Керниган.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 51129f15 Имя модуля с ошибкой: MSVCR100D.dll Версия модуля с ошибкой: 10.0.30319.1 Отметка времени модуля с ошибкой: 4ba1dbd4...
C++ последовательность и запись файлов Условия задания 1: Найти среднее арифметическое положительных элементов данной последовательности. Условия задания 2: В выходную последовательность записать только те числа, которые меньше суммы своих соседей (если первое число меньше второго, записываем первое число; если второе число меньше суммы первого и третьего числа, записываем второе число, если последнее меньше предпоследнего,... http://www.cyberforum.ru/cpp-beginners/thread780845.html
Массив: найти сумму элементов матрицы в нижнем треугольнике C++
найти сумму элементов матрицы в нижнем треугольнике
C++ Гипотенуза и катет
Добрый день! У меня такие проблемы: 1) Вечная моя проблема - это то, что мой компилятор не хочет компилировать задачу! Т.е. когда я написал программу он пишет, что не может найти файл или что-то в этом роде. 2) Во-вторых я не понимаю, где ошибка в этой программе: #include <iostream> int main() { double a, b;
C++ Разбор полётов. Класс десятичное большое число http://www.cyberforum.ru/cpp-beginners/thread780825.html
Код: # include <iostream> using namespace std; class bigfig { char fig; int length; public: bigfig(char* f); //конструктор
C++ Помощь с инвариантом Проблема в следующем - необходимо реализовать программу сортировки одномерного массива по убыванию методом выбора. Всё реализовано и сортируется, а так же один цикл проверяется инвариантом (строка 33-37), меня попросили сделать вторую проверку на инвариант для индексов минимального элемента (в районе 19-23 строках), и я совсем не понимаю как это сделать. Нужна помощь, заранее спасибо. ... подробнее

Показать сообщение отдельно
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
07.02.2013, 03:09     Файлы. Удалить все числа между первым максимальным и последним минимальным числом
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
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
    int temp=0;
    int count=0;
    ifstream infile("in.txt");
    ofstream newfile("in.txt");
    ofstream outfile ("out.txt");
    // новый файл с числами, если файл не открылся, выход из программы
    if(!newfile.is_open()) exit (1);
    for (int i=0, n=25/2; i<n; ++i)
        newfile << rand() % n << endl;
    newfile.close();
    // проверяем, если файлы не  открылись - выход
    if(!infile.is_open() || !outfile.is_open()) exit (1);
    // узнаем количесьво записей
    long int lastpos=0, lastmin=0, firstmax=0;
    int min=0,  max=0;
    bool flag=false;
    while(infile >> temp) {
        if (!flag) {
            min=temp;
            max=temp;
            lastmin=lastpos;
            firstmax=lastpos;
            flag=true;
        }
        if (temp<=min) {
            min=temp;
            lastmin=infile.tellg();
        }
        if (temp>max) {
            max=temp;
            firstmax=infile.tellg();
        }
    }
    long int beg=0, end=0;
    if (lastmin < firstmax) {
        beg=lastmin, end=firstmax;
    } else {
        end=lastmin, beg=firstmax;
    }
    cout << min << " ,   "<< lastmin << endl;
    cout << max << " ,   "<< firstmax <<endl;
    infile.clear();
    infile.seekg(beg, ios_base::beg);
    while (infile>>temp && infile.tellg()<end)
        outfile << temp << endl;
    infile.close();
    outfile.close();
    return 0;
}
Добавлено через 35 минут
C++
1
2
3
4
5
infile.clear();
    infile.seekg(0, ios_base::beg);
    while (infile>>temp)
        if (!(infile.tellg()>start && infile.tellg()<stop))
            outfile << temp << endl;
 
Текущее время: 14:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru