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

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

Войти
Регистрация
Восстановить пароль
 
VictoriaSagdi
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 11
#1

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

06.02.2013, 23:34. Просмотров 483. Ответов 2
Метки нет (Все метки)

здравствуйте я учусь на 1 курсе и мы про программированию не очень далеко ушли, так что решения должны быть "для чайников" помогите чем сможете, заранее спасибо)
вот такая у меня работа:
1) дан входной файл, каждая строка которого содержит одно целое число. Удалить все числа между первым максимальным и последним минимальным числом. Дополнительный массив не использовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 23:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файлы. Удалить все числа между первым максимальным и последним минимальным числом (C++):

Упорядочить по убыванию элементы массива, стоящие между первым максимальным и последним минимальным - C++
Упорядочить по убыванию элементы массива, стоящие между первым максимальным и последним минимальным элементами.(массив целочисленный)

Произведение элементов массива, расположенных между первым максимальным и последним минимальным по модулю - C++
Нужна помощь по составлению программы. произведение элементов массива, расположенных между первым максимальным по модулю и последним...

Выбрать 4 числа с минимальной разницей между максимальным и минимальным числом из 4 векторов разной длины - C++
Здравствуйте, у меня такая задача: Даны 4 вектора размера от 1 до 100 000 В каждый записываются числа от 1 до 100 000 Надо найти...

Вычислить произведение элементов массива между первым максимальным и первым минимальным - C++
Вычислить произведение элементов массива А, находящихся между первым максимальным и первым минимальным элементами.

Удалить все элементы массива расположенные между максимальным и минимальным элементами - C++
в целочисленном массиве X(N) удалить все элементы, расположенные между максимальным и минимальным элеметами. Найти средне арифметическое...

Удалить все элементы, расположенные между минимальным и максимальным элементами массива - C++
Дан линейный массив из n элементов. Удалить все элементы, расположенных между минимальным и максимальным элементами массива. Помогите...

2
vua72
416 / 416 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
07.02.2013, 03:09 #2
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;
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,603
07.02.2013, 03:59 #3
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
#include <fstream>
 
int main()
{
    std::ifstream ifs("input.txt");
    std::ofstream o("output.txt");
    if (!ifs) return 1;
    int max, min, tick, beg = 0, end = 0, counter = 1;
 
    ifs >> tick;
    max = min = tick;
    while (!ifs.eof() && ifs >> tick)
    {
        if (tick <= min)
        {
            min = tick;
            end = counter;
        }
        if (tick > max)
        {
            max = tick;
            beg = counter;
        }
        counter++;
    }
    ifs.clear();
    ifs.seekg(0);
    for (int i=0; !ifs.eof() && ifs >> tick && i < counter; i++)
        if (i < beg || i > end)
            o << tick << " ";
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 03:59
Привет! Вот еще темы с ответами:

В массиве все числа между максимальным и минимальным элементом заменить на заданное число - C++
Дано число k. В массиве все числа между максимальным и минимальным элементом заменит на число k.

В массиве все числа между максимальным и минимальным элементом заменит на заданное число - C++
допишите код #include &lt;iostream&gt; using namespace std; int Work(int* x,int n, int k); int main() { return...

Вычислить разность между максимальным и минимальным числом - C++
Ребят помогите завтра экзамен , а нужно лабы ещё сдать 6 лаб ((( Вычислить разность между максимальным и минимальным числом. Найти...

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


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

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

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