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

Нахождение прироста и разницы в файлах последовательного доступа

15.05.2019, 07:21. Показов 318. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять как найти прирост и разницу показателей после Второй Мировой войны.
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include "stdafx.h"
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
#include "locale.h"
#include "Windows.h"
#define K 50
struct tabl
{char year[30];
int i;
    int s1,s2,s3,s4;
};
 
 
int func1(tabl text[10], int n, float *a, float *b,float *d, float *c)
{
    int t = 0;
    float min = 0;
    int j = n;
    for (int i = 0; i<j; i++)
    {
        float c = text[n].s1 - text[n].s2;
        if (c < min)
        {
            min = c;
            *a = text[n].s1 -text[n].s2;
            *b = text[n].s1 - text[n].s2;
            *d = text[n].s1 - text[n].s4;
            t = i;
        }
    }
    return t;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Rus");
    int i, j, t, conf, n;
    char cont;
    float a, b, c, d,min;
    FILE *ptr;
    FILE *r;
    tabl text[10];
    do
    {
        printf("Введите номер действия:\n");
        printf("1. Загрузить готовые данные\n");
        printf("2. Ввести данные вручную\n");
        fflush(stdin);
        scanf_s("%d", &conf);
    } while ((conf != 1) && (conf != 2));
    if (conf == 1)
    {
        r = fopen("J:\\программы\\1.txt", "r");
        ptr = fopen("J:\\программы\\2.txt", "w");
        if (r == NULL)
        {
            printf("Ошибка\n");
            _getch();
            return 0;
        }
        n = 0;
        while (fscanf(r, "%d%d%d%d%d", &text[n].year, &text[n].s1, &text[n].s2, &text[n].s3, &text[n].s4 ) != EOF)
        {
            printf("%-20s  %7.2d %7.2d %7.2d %7.2d\n", text[n].year, text[n].s1, text[n].s2, text[n].s3, text[n].s4);
            n++;
        }
        fclose(r);
        t = func1(text, n, &a, &b, &c,&d);
        fprintf(ptr, "%-20s  %7.2d %7.2d %7.2d %7.2d\n", text[n].year, text[n].s1, text[n].s2, text[n].s3, text[n].s4);
        fprintf(ptr, "Наименьший прирост после 1950: %4.2f\n", min);
        fprintf(ptr, "Разница прироста : %4.2f\n", b);
        fclose(ptr);
    }
    else
    {
        n = 0;
        do
        {
            printf("Введите год:\n");
            fflush(stdin);
            gets_s(text[n].year, 29);
            do
            {
                printf("Введите доход в СССР.:\n");
                fflush(stdin);
            } while (!scanf_s("%f", &text[n].s1));
            do
            {
                printf("Введите доход в США.:\n");
                fflush(stdin);
            } while (!scanf_s("%f", &text[n].s2));
            do
            {
                printf("Введите доход в Англии.:\n");
                fflush(stdin);
            } while (!scanf_s("%f", &text[n].s3));
            do
            {
                printf("Введите доход во Франции.:\n");
                fflush(stdin);
            } while (!scanf_s("%f", &text[n].s4));
            do
            {
                printf("Продолжить? y/n\n");
                cont = (_getch());
                printf("\n");
            } while ((cont != 'y') && (cont != 'n'));
            n++;
            getchar();
        } while (cont == 'y');
        printf("----\n");
        printf("%7f : %7s | %7s | %7s | %7s |\n", "Годы", "СССР", "США", "Англия","Франция");
        for (i = 0; i<n; i++)
            printf("%-20s : %7.2d | %7.2d | %7.2d || %7.2d |\n", text[i].year, text[i].s1, text[i].s2, text[i].s3,text[i].s4);
        printf("----\n");
        t = func1(text, n, &a, &b, &c,&d);
        if ((a <= 0) || (b <= 0)||(d<=0))
            printf("Нет ответа\n");
        else
        {
            printf("%%-20s  %7.2d %7.2d %7.2d %7.2d\n", text[n].year, text[n].s1, text[n].s2, text[n].s3, text[n].s4);
            printf("Наименьший прирост после Второй Мировой войны: %4.2f\n", a);
            printf("Разница прироста: %4.2f\n", b);
        }
    }
    _getch();
    return 0;
}
Миниатюры
Нахождение прироста и разницы в файлах последовательного доступа  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2019, 07:21
Ответы с готовыми решениями:

Записать в файл f последовательного доступа N натуральных чисел. Получить в другом файле последовательного дос
Записать в файл f последовательного доступа N натуральных чисел. Получить в другом файле...

Вычисления в цикле, нахождение ежедневного прироста
Здравствуйте, при решении задачи, столкнулся с проблемой задания цикла для нахождения ежедневного...

Расчет разницы между изменениями в файлах
Добрый день, уважаемые! Подскажите где ошибка и как реализовать казалось бы простое задание....

Расчет прироста с привязкой по дате и учетом дополнительного прироста в выходные
Вконтакте например испльзует фейковую (я так думаю) переменную &quot;нас уже xxxxxxxxxx&quot; которая...

2
1 / 1 / 0
Регистрация: 13.05.2019
Сообщений: 5
15.05.2019, 09:28 2
Значение показателя до, минус значение после периода изменения - это разница. А если разницу разделить на значение до изменения, то получим прирост в долях. Умножить на 100% - прирост в процентах.
1
2 / 2 / 0
Регистрация: 14.10.2018
Сообщений: 122
15.05.2019, 15:12  [ТС] 3
большое спасибо
0
15.05.2019, 15:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2019, 15:12
Помогаю со студенческими работами здесь

Нахождение разницы двух сигналов
Здравствуйте. Имеется 2 сигнала: один до обработки, другой после. Нужно посчитать разницу этих...

нахождение суммы и разницы векторов
как найти сумму и разницу двух векторов заданные координатами. например первый вектор начало(5,3)...

нахождение суммы и разницы векторов
как найти сумму и разницу двух векторов заданные координатами. например первый вектор начало(5,3)...

Нахождение разницы и замена в List
Доброго времени суток, помогите пожалуйста разобраться, есть два списка List1 и List2. List2...


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

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