1 Востаннє редагувалося roma_dmn (27.11.2016 16:46:38)

Тема: Ввід здійснюється з текстового файлу // C

Небхідно написати два варіанти програми:
програма у якій ввід здійснюється з текстового файлу і вивід виконується в текстовий файл;
програма у якій ввід здійснюється з бінарного файлу і вивід відбувається в бінарний файл.
У бінарному файлі дані зберігаються у внутрішньому представлені.

Для варіанту, який використовує бінарні файли, необхідно написати дві допоміжні програми:
допоміжну програму яка формує бінарний файл із вхідними даними;
допоміжну програму яка читає вихідний бінарний файл і виводить на екран монітори вихідні дані.
Потрібно переробити цю програму :

#include <stdio.h>
#define SIZE 25

int main()
{
    int i;
    int count = 0;
    int flag;
    float Numbers[SIZE] = { 2, 5, -5, -4, 13, 54, -48, 99, 69, -69, 46, 12, 84, 57, 24, 71, 57, -11, -22, -44, 12, 15, 23, -31, -12 };

    printf("Numbers: \n");

            for (i = 0; i < SIZE; i++) {
                printf("%.0f, ", Numbers[i]);
            }

            if (Numbers[0] < 0) {
                flag = 0;
            }
            else {
                flag = 1;
            }

            for (i = 1; i < SIZE; i++) {
                if (Numbers[i] < 0 && flag == 1) {
                    count++;
                    flag = 0;
                }
                else if (Numbers[i] >= 0 && flag == 0) {
                    count++;
                    flag = 1;
                }
            }
            printf("\n\nThere is %d sign changes\n", count);
    return 0;
}

2

Re: Ввід здійснюється з текстового файлу // C

koala написав:

Чим саме вас не задовольняє робота цієї програми?

В нас така лабораторна робота на "Розв'язування на С задач, які використовують файли для вводу та виводу даних "
,і потрібно переробити цю програму з використанням файлів.

3

Re: Ввід здійснюється з текстового файлу // C

Я хотів сказати - що саме у вас не вдається?
Тут не клуб "зробіть мені на шару", тут сайт програмістів. Якщо ви програміст (хай навіть і перший день) і стикнулися з проблемами - викладайте свої проблеми, а не завдання (хоча завдання теж треба, якщо через нього проблеми). Якщо ні і не збираєтеся ним ставати - це просто не для вас форум.

Подякували: roma_dmn1

4

Re: Ввід здійснюється з текстового файлу // C

koala написав:

Я хотів сказати - що саме у вас не вдається?
Тут не клуб "зробіть мені на шару", тут сайт програмістів. Якщо ви програміст (хай навіть і перший день) і стикнулися з проблемами - викладайте свої проблеми, а не завдання (хоча завдання теж треба, якщо через нього проблеми). Якщо ні і не збираєтеся ним ставати - це просто не для вас форум.

#include <stdio.h> 
#define SIZE 25 

int main() 
{ 
FILE *input_file = fopen_s("input.txt", "r+"); 
FILE *output_file = fopen_s("output.txt", "w+"); 

if (input_file == NULL) { 
fprintf(output_file, "Error while reading file"); 
return 0; 
} 

int i; 
int count = 0; 
int flag; 

float Numbers[SIZE]; 

for (i = 0; i < SIZE; i++) { 
fscanf_s(input_file, "%f", &Numbers[i]); 
printf("%.0f, ", Numbers[i]); 
} 

if (Numbers[0] < 0) { 
flag = 0; 
} 
else { 
flag = 1; 
} 

for (i = 1; i < SIZE; i++) { 
fscanf_s(input_file, "%f", &Numbers[i]); 
if (Numbers[i] < 0 && flag == 1) { 
count++; 
flag = 0; 
} 
else if (Numbers[i] >= 0 && flag == 0) { 
count++; 
flag = 1; 
} 
} 
fprintf(output_file, "\n\nThere is %d sign changes\n", count); 
fclose(input_file); 
fclose(output_file); 
return 0; 
}

Програма видає помилки.

5

Re: Ввід здійснюється з текстового файлу // C

roma_dmn написав:

Програма видає помилки.

Які саме? "Закінчилося місце на диску"?

6

Re: Ввід здійснюється з текстового файлу // C

koala написав:
roma_dmn написав:

Програма видає помилки.

Які саме? "Закінчилося місце на диску"?

too few arguments in function call

7

Re: Ввід здійснюється з текстового файлу // C

https://msdn.microsoft.com/uk-ua/library/z5hh6ee9.aspx
Перед використанням функції бажано ознайомитися із її описом.

Подякували: roma_dmn1