Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Поменять порядок элементов в списке https://www.cyberforum.ru/ c-beginners/ thread421773.html
В задании нужно поменять порядок элементов на обратный. Вот готовый рабочий код, но я не совсем пойму, что, где, и как делается. Пожалуйста, можете откомментировать код? Буду очень очень благодарен!!! Мне это просто край, как важно! пожалуйста =) #include<stdlib.h> #include<stdio.h> #include<conio.h> #include<ctype.h> #define STACK struct stack STACK
каналы и сигналы в си C (СИ)
нужно написать программу в которой родительский процесс передает дочернему сообщение через канал, дочерний процесс печатает его, затем передает родительскому через канал свой пид, затем родительский процесс печатает его и посылает дочернему процессу сигнал после которого дочерний процесс завершается.
C (СИ) Записать в третий файл строки из первых двух файлов, чтобы они тоже располагались по алфавиту https://www.cyberforum.ru/ c-beginners/ thread421647.html
Задача: даны два файла, строки в которых расположены по алфавиту,записать в третий файл строки из первых двух файлов, чтобы они тоже располагались по алфавиту. Добавлено через 14 минут вот программа, она составляет списки из строк файла, далее записывает строки по алфавиту из того файла, в котором они идут первые по алфавиту, потом переходит во второй файл, но печатает только первый символ...
C (СИ) Не работает оператор switch. Привет всем. Реализую в программе кое-что при помощи оператора switch. Пересмотрел материал, вроде все делаю правильно (там акцент на то, чтобы проверяемая переменная была целочисленным типом) , а оно почему-то не заходит туда, куда должно. Делаю на Visual C++ 2008 Express. Присваиваю переменной значение ноль - k=0; после этого вставляю эту переменную в условие switch; в одном из... https://www.cyberforum.ru/ c-beginners/ thread421614.html
с записью в файл C (СИ)
задание: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #define N 100 //--------------- объявление глобальных переменных ----------------------
C (СИ) Описать функцию, находящую приближенное значение функции exp (x) Помогите кто может с программой. Описать функцию Exp1(x, е) вещественного типа (параметры x, е — вещественные, е > 0), находящую приближенное значение функции exp(x): exp(x) = 1 + x + x2/(2!) + x3/(3!) + … + xn/(n!) + … (n! = 1•2•…•n). В сумме учитывать все слагаемые, большие е. С помощью Exp1 найти приближенное значение экспоненты для данного x при шести данных е. Уже не знаю сколько над... https://www.cyberforum.ru/ c-beginners/ thread421426.html
C (СИ) Непонятная ошибка #include <windows.h> /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName = "Windows App"; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, https://www.cyberforum.ru/ c-beginners/ thread421310.html C (СИ) Считывание из текстового файла в переменную типа char[250].
С наступившим вас, уважаемые программисты! У меня TURBOC.3_0. Стоит задача считать текст из файла в переменную. Вроде все правильно сделал, но не работает: #include<stdio.h> #include<conio.h> #include<string.h> #include<iostream.h>
C (СИ) Умножение элементов верхнетреугольной подматрицы на минимальный элемент в нижнетреугольной https://www.cyberforum.ru/ c-beginners/ thread421285.html
Ребят помогите доделать программу задача: Умножение элементов верхнетреугольной подматрицы на минимальный элемент в нижнетреугольной задаю матрицу и нахожу min в нижней треугольной а умножить не получается "ошибка сегментирования" не знаю как исправить( КОД: #include <stdio.h> #include <stdlib.h>
C (СИ) Какой ОС выбрать для Си программиста ? https://www.cyberforum.ru/ c-beginners/ thread421089.html
Какой ОС выбрать для сетевого программирования ?
C (СИ) помогите сделать удаление по ключу
нужно сделать удаление по ключу для этой программы и еще я не как не пойму как сделать меню по функциональным клавишам. # include<stdio.h> # include<string.h> # include<conio.h> struct Moto{ char pr; char nm; int m; int gd;
C (СИ) Revers связанного списка. #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct Stud { char *data; } Stud; typedef struct Node https://www.cyberforum.ru/ c-beginners/ thread420696.html
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
0

Определить, производство какого молочного продукта было минимальным - C (СИ) - Ответ 2352075

03.01.2012, 20:40. Показов 798. Ответов 7
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
условие
Определить, производство какого молочного продукта было минимальным

Задания 1) и 2) выводит нормально, но не выводит 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
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
//--------------Прототипы функций------------------
 
void fileInput();       //Формирование файла
void fileOutput(char*); //Вывод файла
void min57();           //Вывод минимальной продукции в 1957
void form45();          //Формирование файла с продукцией в 1945 более 100тыс
void form32();          //Формирование файла с продукцией в 1932 более 10тыс
void Sort(char*);       //Сортировка файла
 
//------------Глобальные переменные ---------------
 
struct Record
{                       //структуры данных
    char Name[20];      //Название продукции
    float y13;          //произведено в 1913
    float y32;          //произведено в 1932
    float y45;          //произведено в 1945
    float y57;          //произведено в 1957
} a,b;
 
FILE *fv, *f2;          //Файлы прямого доступа
 
//------------ Основная программа ----------------
void main()
{
    int f;
    printf("Formirovat file? (1 - yes, 0 - no)\n");
    scanf("%d",&f);
    if(f)
        fileInput();
    fileOutput("data.dat");
    min57();
    form45();
    printf("V 1945 bolshe 100tis\n");
    fileOutput("y45.dat");
    form32();
    Sort("y32.dat");
    printf("V 1932 bolshe 10tis\n"); 
    fileOutput("y32.dat");
    getch();
    
}
 
//--------- Реализация функций ---------------------
 
void fileInput()
{
    float f;
    if ((fv = fopen("data.dat","w")) == NULL)//Открытие файла для записи
    {
        printf("Error open file!\n");
        exit(-1);
    }
    strcpy(a.Name,"a");           
    while (strcmp(a.Name,"0")!=0)         //Ввод записей пока вместо найвания не введен 0
    {
        printf("Enter name <<0 - exit>>\n");
        scanf("%s",a.Name);               //Ввод названия продукции
        if (strcmp(a.Name,"0")!=0)
        {                                    
            printf("Enter 1913\n"); //Ввод 
            scanf("%f",&f);                                                            /*!!!!!!!!!!!!!!!!*/
            a.y13 = f;                      
            printf("Enter 1932\n");
            scanf("%f",&a.y32);
            printf("Enter 1945\n");
            scanf("%f",&a.y45);
            printf("Enter 1957\n");
            scanf("%f",&a.y57);
            fwrite(&a,sizeof(a),1,fv);       //Запись структуры в файл
        }
    }
    printf("Data is writen\n");                                         /*!!!!!!!!!!!*/
    fclose(fv);                              //Закрытие файла
}
 
void fileOutput(char* name)
{
    int uk,i;
    if ((fv = fopen(name,"r")) == NULL)      //Открытие файла для чтения
    {
        printf("Error open file!\n");
        exit(-1);
    }
    fseek(fv,0,SEEK_END);                    
    uk = ftell(fv);                          //Определание размера файла
    i = 0;                                   //начальная позиция файла
    printf("-------------------------------------------------------\n");
    printf("!  Nazvanie produkcii !  1913 !  1932 !  1945 !  1957 !\n");
    printf("-------------------------------------------------------\n");
    while (uk>i)                             //Пока не достигнут конец файла
    {
        fseek(fv,i,SEEK_SET);                //Установка указателя на текущую позицию
        fread(&a,sizeof(a),1,fv);            //Чтение текущей структуры из файла
        printf("!%20s !%7.3f!%7.3f!%7.3f!%7.3f!\n",
            a.Name,a.y13,a.y32,a.y45,a.y57); //вывод на экран
        i += sizeof(a);                      //Перевод указателя на следующую структуру
    }
    printf("-------------------------------------------------------\n");
    fclose(fv);                              //Закрытие файла
}
 
void min57()
{
    int uk,i;
    float min;
    if ((fv = fopen("data.dat","r")) == NULL)//Открытие файла для чтения
    {
        printf("Error open file!\n");
        exit(-1);
    }
    fseek(fv,0,SEEK_END);
    uk = ftell(fv);                          //Определание размера файла
    i = 0;                                   //начальная позиция файла
    while (uk>i)                             //Пока не достигнут конец файла
    {
        fseek(fv,i,SEEK_SET);                //Установка указателя на текущую позицию
        fread(&a,sizeof(a),1,fv);            //Чтение текущей структуры из файла
        if (i==0)                            //Если тек. структура пермая 
            min = a.y57+1;                   //минимуму присваивается заведомо большее значение
        if (a.y57<min)                       //текущее значение меньше минимального
        {
            min = a.y57;                     //Обновление минимального
            strcpy(b.Name,a.Name);     //Копирование структуры
            b.y13 = a.y13;                 
            b.y32 = a.y32;
            b.y45 = a.y45;
            b.y57 = a.y57;
        }
        i += sizeof(a);                      //Перевод указателя на следующую структуру
    }
    fclose(fv);                              //Закрытие файла
    printf("min v 1957 - %7.1f (%s)\n",b.y57,b.Name);//Вывод результата на экран
}
 
void form45()
{
    int uk,i;
    if ((fv = fopen("data.dat","r")) == NULL)//Открытие файла для чтения
    {
        printf("Error open file!\n");
        exit(-1);
    }
    if ((f2= fopen("y45.dat","w"))== NULL)   //Открытие файла для записи
    {
        printf("Error open file!\n");
        exit(-1);
    }
    fseek(fv,0,SEEK_END);
    uk = ftell(fv);                          //Определание размера файла
    i = 0;                                   //начальная позиция файла
    while (uk>i)                             //Пока не достигнут конец файла
    {
        fseek(fv,i,SEEK_SET);                //Установка указателя на текущую позицию
        fread(&a,sizeof(a),1,fv);            //Чтение текущей структуры из файла
        if (a.y45>100)                       //Если в 1945 больше 100
        {
              fwrite(&a,sizeof(a),1,f2);       //запись структуры во второй файл
        }
        i += sizeof(a);                      //Перевод указателя на следующую структуру
    }
    fclose(fv);                              //Закрытие исходного файла 
    fclose(f2);                              //Закрытие второго файла 
}
 
void form32()
{
    int uk,i;
    if ((fv = fopen("data.dat","r")) == NULL)//Открытие файла для чтения
    {
        printf("Error open file!\n");
        exit(-1);
    }
    if ((f2= fopen("y32.dat","w")) == NULL) //Открытие файла для записи
    {
        printf("Error open file!\n");
        exit(-1);
    }
    fseek(fv,0,SEEK_END);
    uk = ftell(fv);                          //Определание размера файла
    i = 0;                                   //начальная позиция файла
    while (uk>i)                             //Пока не достигнут конец файла
    {
        fseek(fv,i,SEEK_SET);                //Установка указателя на текущую позицию
        fread(&a,sizeof(a),1,fv);            //Чтение текущей структуры из файла
        if (a.y32>10)                        //Если в 1932 больше 10
        {
            fwrite(&a,sizeof(a),1,f2);       //запись структуры во второй файл
        }
        i += sizeof(a);                      //Перевод указателя на следующую структуру
    }
    fclose(fv);                              //Закрытие исходного файла 
    fclose(f2);                              //Закрытие второго файла 
}
 
void Sort(char*name)
{
    int i=0, j, pos,n;
    if ((fv = fopen(name,"r+w")) == NULL)    //Открытие файла для чтения и записи
    {
        printf("Error open file!\n");
        exit(-1);
    }
    fseek(fv,0,SEEK_END);
    n = ftell(fv)/sizeof(a);                 //Определение количества записей в файле
    while (i<(sizeof(a)*(n-1)))              //Пересмотр всех записей кроме последней
    {
        fseek(fv,i,SEEK_SET);
        fread(&a,sizeof(a),1,fv);
        j = i+sizeof(a);                     
        while (j<(sizeof(a)*n))              //Просмотр всех записей кроме уже отсортированых
        {
            fseek(fv,j,SEEK_SET);
            fread(&b,sizeof(b),1,fv);
            if (strcmp(a.Name,b.Name)>0)//Сравнение названий стран
            {
                pos = i;                     
                fseek(fv,pos,SEEK_SET);      
                fwrite(&b,sizeof(b),1,fv);   //Запись структуры b вместо а 
                pos = j;
                fseek(fv,pos,SEEK_SET);
                fwrite(&a,sizeof(a),1,fv);   //Запись структуры а вместо b 
                strcpy(a.Name,b.Name);
                a.y13 = b.y13;             //Копирование структуры b в а
                a.y32 = b.y32;             //для дальнейшего просмотра
                a.y45 = b.y45;
                a.y57 = b.y57;
            }
            j += sizeof(b);
        }
        i += sizeof(a);
    }
    fclose(fv);
}
Что делать, чтобы и задание 3) вывелось? Скажите, пожалуйста!

Вернуться к обсуждению:
Определить, производство какого молочного продукта было минимальным C (СИ)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2012, 20:40
Готовые ответы и решения:

Сформировать запись, содержащую сведения о количестве ,стоимости и сроке хранения молочного продукта
Сформировать запись, содержащую сведения о количестве ,стоимости и сроке хранения молочного...

Выбрать название продукта, для которого в 1990 г. было продано максимальное количество экземпляров продукта
Нужно сделать запрос , немогу понять в чем причина SELECT , MAX(ITEM.quantity) FROM PRODUCT...

Определить, из какого окна было запущено текущее
Добрый день. Ситуация такая. Есть окно w1, из него через ShowDialog() вызывается окно w2. И из...

Определить, в течение какого количества дней месяца непрерывно, осадков не было
2) Известны сведения о количестве осадков, выпавших за каждый день мая. Первого мая осадков не...

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

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

Определить, в каком доме необходимо установить АТС, чтобы расстояние до всех телефонов было минимальным
В поселке N домов, расположенных вдоль дороги с одной стороны на равных расстояниях. В деревне...

Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов...

Определить, синус какого элемента массива имеет наибольшее значение, а какого - наименьшее, и вычислить их разницу
Задача на обработку одномерного массива:определить ,синус какого элемента массива имеет наибольшее...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru