• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа с файлами

  • Автор темы Gekata
  • Дата начала
G

Gekata

Здравствуйте! Я вот с такой задачей: Дана последовательность из n вещественных чисел (0.3; 1.5; 2.6; 3.24; 5.89; 6.0; 7.3; 9.25; 10.98). Записать все эти числа в файл. Вывести на экран все компоненты, не попадающие в данный диапазон [2,5; 7,5].
Есть ток начало, и то не знаю, какой тип данных брать, записывает в файл слово ПОСЛЕДОВАТЕЛЬНОСТЬ, а цифры нет. И не могу дальше условия задачи записать!

C++:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "locale.h"
#define FNAME "D:\\n.txt.\0"\


void main ()
{
float t[15];
FILE *a;
setlocale (LC_ALL, "rus");
a=fopen(FNAME,"wt");
if (a==NULL)
{
printf ("Error");
getch ();
}	
printf("0.3 1.5 2.6 3.24 5.89 6.0 7.3 9.25 10.98"); 
fprintf(a,"Последовательность:");
scanf ("%f", &t);
fprintf(a,"%f",t);
fclose (a);
getch ();
}

и проблема с этой строкой:
C++:
printf("0.3 1.5 2.6 3.24 5.89 6.0 7.3 9.25 10.98");

нужно чтобы последовательность была задана в проге, а не вводилась с клавиатуры.
 
S

Sekt

printf("0.3 1.5 2.6 3.24 5.89 6.0 7.3 9.25 10.98");
исп %d.и зачем числа сначало запишите символы.И потом уже с программы перевидите их в числа.исп fgets(),fputs().
 
S

sg^_^milytia

вот еще есть такое преобразование из CHAR во FLOAT:

char temp[]="0.43";
float tempFloat=atof(temp);
cout << "tempFloat = " << tempFloat;

если тебе это конечно поможет ( библиотека cstdlib ),

и еще строчка
fprintf(a,"Последовательность:");
она и записывает в твой фаил слово "ПОСЛЕДОВАТЕЛЬНОСТЬ", а запись в фаил ты должен делать после отсеивания не лежащих в диапазоне чисел ([2,5; 7,5]), и после формирования новой строки, примерно так:
fprintf(a,newString);
где newString - строка в которой лежат флоаты ("2,2 0,4 7,8") и так далее
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!