Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.12.2021
Сообщений: 62
1

Переставить в файле все компоненты, предшествующие минимальной в обратном порядке

10.05.2022, 13:37. Показов 233. Ответов 0

Author24 — интернет-сервис помощи студентам
Ввести числовой файл F . Переставить в нём все компоненты, предшествующие минимальной в обратном порядке.
Определить в изменённом файле на какой позиции находится максимум.Файл вывести как до, так и после преобразования.
Код в целом рабочий, только переставляет все компоненты, включая минимальный.
Буду очень признателен тому, кто поможет)
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
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    FILE *f;
    f=fopen("1.txt","w");
    cout<<"\nVvod file:";
    int i=0,b;
    cout<<"\nVvod 0-go komponenta ili 555 ";
    cin>>b;
    while (b!=555)
    {
        fwrite(&b,sizeof(b),1,f);       
        i++;
        cout<<"\nVvod "<<i<<"-go komponenta ";
        cin>>b;
    }
    fclose(f);
    f=fopen("1.txt","r");
    cout<<"\nVivod file:";
    while (fread(&b,sizeof(b),1,f))
    {
        cout<<"\t"<<b;
    }
    fclose(f);
    
    f=fopen("1.txt","r");
    int min, imin;
    if (fread(&b, sizeof(b), 1, f)) {
        min = b;
        imin = 0;
    }
    while (fread(&b,sizeof(b),1,f)) 
        if(b<min){
            min=b;
            imin=ftell(f) / sizeof(b);
        } fclose(f);
    f=fopen("1.txt","r+");
    int a;
    for(int i=0 ; i<imin/2; i++)
        {
        fseek(f, (i)*sizeof(b), SEEK_SET);
        fread(&b,sizeof(b),1,f);        
        fseek(f, (imin-i-1)*sizeof(b), SEEK_SET);
        fread(&a,sizeof(a),1,f);        
        fseek(f, (i)*sizeof(b), SEEK_SET);
        fwrite(&a,sizeof(a),1,f);       
        fseek(f, (imin-i-1)*sizeof(b), SEEK_SET);
        fwrite(&b,sizeof(b),1,f);       
        }
    fclose(f);
    
    f=fopen("1.txt","r");
    cout<<"\nVivod file:";
    while (fread(&b,sizeof(b),1,f)) 
        cout<<"\t"<<b;
        fclose(f);
        
    f=fopen("1.txt","r");
    int max, imax; 
    if (fread(&b, sizeof(b), 1, f)) {
        max = b;
        imax = 0;
    }
    while (fread(&b,sizeof(b),1,f)) {
        if(b>max) {
            max=b;
            imax=ftell(f) / sizeof(b);
        } 
    }
    cout<<"\nМаксимум находится на "<<imax<<"-й позиции";
    fclose(f);
}
Программа при таких входных данных:
Vivod file: 5 9 2 15 0 3 1 11 7
Выводит 0 15 2 9 5 3 1 11 7
Хотя должна выводить: 15 2 9 5 0 3 1 11 7
Помогите в чем может быть причина такого неправильного вывода?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2022, 13:37
Ответы с готовыми решениями:

Типизированные файлы. Переставить все компоненты, предшествующие минимальной, в обратном порядке
Ввести числовой файл F . Переставить в нём все компоненты, предшествующие минимальной в обратном...

Ввести числовой файл F. Переставить в нем все компоненты, предшествующие минимальной в обратном порядке. Определить в
Ввести числовой файл F. Переставить в нем все компоненты, предшествующие минимальной в обратном...

Как переставить компоненты в файле, предшествующие минимальному, в обратном порядке?
Ввести числовой файл F . Переставить в нём все компоненты, предшествующие минимальной в обратном...

Переставить в обратном порядке компоненты файла предшествующие минимальному
Здравствуйте, у меня возникла проблема.Ввести числовой файл F . Переставить в нём все компоненты,...

0
10.05.2022, 13:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2022, 13:37
Помогаю со студенческими работами здесь

Переставить в обратном порядке компоненты файла предшествующие минимальному
Всем привет, столкнулся с такой задачей. Ввести числовой файл F . Переставить в нём все...

Переставить в обратном порядке все положительные компоненты вещественного массива
помогите реализовать программу в TP Переставить в обратном порядке все положительные компоненты...

Компоненты файла, стоящие между наибольшим и наименьшим компонентом,переставить в обратном порядке
Типизированные файлы. 3) ввести с клавиатуры файл F действительных чисел. Компоненты файла,...

Вставить после заданного символа все символы предшествующие ему в обратном порядке
Вставить после заданного символа все символы предшествующие ему в обратном порядке. Оставшуюся...

Файл: Записать в файл G компоненты файла F в обратном порядке, причем в начало G поместить все нечетные, а затем все четные компоненты.
Дан символьный файл F. Записать в файл G компоненты файла F в обратном порядке, причем в начало G...

В строку вставить после заданного символа все символы, предшествующие заданному в обратном порядке
пожалуйста,помогите! В исходную строку вставить после заданного символа все символы,...

В файле элементы, стоящие перед минимальным элементом, переставить в обратном порядке
Сформировать файл F действительных чисел. В файле элементы, стоящие перед минимальным элементом,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru