1 / 1 / 1
Регистрация: 27.11.2010
Сообщений: 34
1

Обработка вещественных чисел

05.06.2011, 14:02. Показов 1309. Ответов 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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int main()
{
char A[100],*p;
float i;
FILE *f1=fopen("A.txt","r");
FILE *f2=fopen("B.txt","w+");
if (f1==0)
{
        perror("error");
        system("pause");
        return 1;
}
fscanf(f1,"%f",&A);
p=strtok(A," ");
do
{
i=atof(p);
if (i-=floor(i)!=0)
fprintf(f2,"%f",i);
}
while (p);
 
        fclose(f1);
        fclose(f2);
        system("pause");
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2011, 14:02
Ответы с готовыми решениями:

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

Обработка вещественных чисел в C по формуле
Добрый день, форумчане. Возникла проблема с выполнением простейшей лабораторной по Си. Задание:...

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

Найти суммы двух случайных чисел. a) целых чисел из диапазона от 50 до 100 b) вещественных чисел от 3х с половиной до 8
помогите решить Найти суммы двух случайных чисел. a) целых чисел из диапазона от 50 до 100 b)...

2
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
05.06.2011, 14:08 2
Цитата Сообщение от m9co038 Посмотреть сообщение
fscanf(f1,"%f",&A);
1) fgets()

Цитата Сообщение от m9co038 Посмотреть сообщение
} while (p);
2)перед этим p = strtok(NULL, " "); забыл


Цитата Сообщение от m9co038 Посмотреть сообщение
i=atof(p); if (i-=floor(i)!=0)
3) есть такая функция modf() - возвращает дробную часть

Цитата Сообщение от m9co038 Посмотреть сообщение
fprintf(f2,"%f",i);
4) пробел забыл между числами. я так вижу ты пишешь в файл все подряд, без сохранения '\n'.
тогда нет смысла вообще в fgets() , а можно просто while (!feof(...)) fscanf(...)
1
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
05.06.2011, 14:10 3
Цитата Сообщение от m9co038 Посмотреть сообщение
содержит изображения нескольких чисел
щито?

И зачем такие сложности? Проверку, является ли дробная часть числа с плавающей запятой - нулевой, можно сделать так:
C++
1
2
3
4
5
6
7
8
9
10
#defile eps 0.0000001
 
float a;
 
//...
 
if (a - (float) ((int) a) > eps) 
  cout << "После запятой - не ноль";
else
  cout << "После запятой - ноль";
1
05.06.2011, 14:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2011, 14:10
Помогаю со студенческими работами здесь

Массив вещественных чисел. Выбрать среди положительных чисел наименьшее значение
Здравствуйте! Помогите решите задачу. Заранее спасибо! Создать массив вещественных чисел....

В файле из 10 вещественных чисел сделать первые пять чисел последними и наоборот
В файле из 10 вещественных чисел сделать первые пять чисел последними и наоборот.

Дан файл вещественных чисел. Подсчитать среднее значение чисел большее 3
Файл уже заполнен. Не надо его заполнять на рандоме. Помогите пожалуйста.

Дан массив вещественных случайных чисел. Подсчитать сумму положительных чисел
Дан массив вещественных случайных чисел (размер массива определяет пользователь, но в диапазоне )....


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

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

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