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

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

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

Уменьшить все элементы последовательности на ее минимальный и записать обратно в файл - C++

20.10.2015, 11:29. Просмотров 207. Ответов 6
Метки нет (Все метки)

В текстовой файле хранится последовательность целых чисел. прочитать данные из файла и преобразовать последовательность уменьшив все элементы на минимальное значение. В исходный файл дописать полученную последовательность чисел

Добавлено через 29 минут
не запускается
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    FILE *f;
    int temp, n=0;
    int Imin, Imax, Min, Max;
    Min = 1000000;
    Max = -1000000;
    if  ((f = fopen("data.txt","rt")) == NULL)
    {
        printf( "ГЋГёГЁГЎГЄГ* îòêðûòèÿ ГґГ*éëГ*: ");
        }
        while(!feof(f))
        {
        fscanf(f, "%d", &temp);
        printf("d ",temp);
        n++;
        if(temp <= Min)
        {
                Min = temp;
                }
                }
                fclose(f);
                for(int i=0; i<n; i++)
                {
                        fprintf(f, "%d", n);
                        }
                        fclose(f); 
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Добавлено через 1 час 17 минут
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    FILE *f;
    int temp, n=0;
    int IMin, IMax, Min, Max;
    Min = 10000000;
    Max = -10000000;
    system("PAUSE");
    if  ((f = fopen("data.txt","rt")) == NULL)
    {
        printf( "Ошибка открытия файла: ");
        }
        while(!feof(f))
        {
        fscanf(f, "%d", &temp);
        printf("d ",temp);
        n++;
        if(temp <= Min)
        {
                Min = temp;
                }
                }
                fclose(f);
                   
                if ((f = fopen("data.txt","tr")) ==NULL)
                {
                       printf( "Ошибка открытия файла: ");
                       }
                       int *x, i =0;
                       x = new int[n];
                       while(!feof(f))
                       {
                       fscanf(f, "%d", &temp);
                       x[i] = temp;
                       i++;
                       }
                       fclose(f);
                       if((f = fopen("data.txt","tr")) ==NULL)
                       {
                       printf("Ошибка открытия файла: ");
                       }
                       for(int i=0; i<n; i++)
                       {
                       fprintf(f, "%d", x[i]-Min);
                       }
                                      
    system("PAUSE");
    return EXIT_SUCCESS;
}
Добавлено через 12 минут
программа вылетает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2015, 11:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Уменьшить все элементы последовательности на ее минимальный и записать обратно в файл (C++):

Уменьшить все элементы массива на минимальный используя функцию - C++
Помогите найти ошибки в программе. Дан одномерный массив из 10 вещественных чисел. Требуется преобразовать массив, уменьшив все...

Дан массив. Уменьшить все его элементы на минимальный элемент массива - C++
Дан массив А(n). Уменьшить все его элементы на минимальный элемент массива. Помогите сделать лабораторную работу.

Массивы: все элементы, кратные 10, заменить 0, все нечетные элементы удвоить, а четные уменьшить в 2 раза - C++
помогите написать программу (массивы) Дан массив целых чисел из 50 элементов. - Все элементы кратные 10 заменить 0; - Все нечетные...

Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2; - C++
Дан массив целых чисел из 50 элементов. Все элементы кратные 10 заменить 0; Все нечетные элементы удвоить, а четные уменьшить на 2; ...

Все отрицательные элементы массива уменьшить в двое, а все нулевые элементы заменить на... - C++
Задан массив М, состоящий из К строк и N столбцов. Все отрицательные элементы уменьшить в двое, а все нулевые элементы заменить на – 0.1.

Записать в файл все члены последовательности, которые не меньше заданного eps - C++
Последовательность x1, x2, ... образована по закону: x_i=\frac{i-0.1}{i^3+\left|tg\,2i \right|}\;(i=1,2,...) Дано действительное...

6
Ваниль
5 / 5 / 1
Регистрация: 09.05.2013
Сообщений: 44
20.10.2015, 12:12 #2
Во-первых, зачем столько переменных, если они не используются?
Во-вторых, а что, если минимальное число из файла 1000001? Т.е. больше, чем объявленный Min.
В-третьих, на каком моменте вылетает, и что пишет?
0
Misha_9615
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 45
20.10.2015, 12:15  [ТС] #3
Ваниль, числа я сам запмсываю в файл txt. При компиляции просто крашится программа

Добавлено через 1 минуту
Ваниль, а вылетает сразу после while
0
Ваниль
5 / 5 / 1
Регистрация: 09.05.2013
Сообщений: 44
20.10.2015, 12:32 #4
Ну, а если кто-то будет писать числа в файл, не зная исходного кода? Это я к тому, что можно выбрать такие входные данные, при которых текущий вариант работать не будет.

После какого while? Тут такая каша, что я не стал в неё вчитываться. Выровняй код нормально.
0
Misha_9615
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 45
20.10.2015, 12:34  [ТС] #5
Ваниль, я пишу это для себя. 18 строка
0
Ваниль
5 / 5 / 1
Регистрация: 09.05.2013
Сообщений: 44
20.10.2015, 12:50 #6
В любом случае, хорошая программа должна обработать любые данные.
И код должен быть удобочитаемым! Особенно, если рассчитываешь на помощь со стороны.

У тебя где-то опечатка, но я вредный и не скажу где. Учись пользоваться отладчиком. Удачи!
0
nmcf
5353 / 4673 / 1564
Регистрация: 14.04.2014
Сообщений: 18,627
20.10.2015, 13:36 #7
Если файл не открылся, надо программу завершать, а у тебя только сообщение и дальше идёт.
Для записи файл должен быть открыт с "w".
0
20.10.2015, 13:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2015, 13:36
Привет! Вот еще темы с ответами:

Матрица. Все элементы последней строки уменьшить на соответствующие элементы третьего столбца - C++
В первом модуле определена квадратная матрица 4-ого порядка. Выводится из изменная матрица построчно. Во втором модуле все элементы...

Все элементы массива уменьшить на 20 - C++
Дан массив. Все его элементы: а) уменьшить на 20. б) умножить на последний элемент. в) увеличить на число В. пожалуйста помоги!!!

Уменьшить все элементы массива на 20 - C++
a) уменьшить на 20 б) умножить на последний элемент в) увеличить на число B

В массив X записать сначала все положительные элементы M1 а затем все отрицательные элементы M2 - C++
Из двух массивов M1(10) и M2(10) получить третийX( ) в массиве X записать вначале все положительные элементы массива M1 а затем все...


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

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

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