|
|
|
| Вот тот же код.
#include <iostream.h>
#include <stdio.h>
int main()
{
double number;
cout << "number = ";
cin >> number;
FILE *fp;
// Открываем файл для дозаписи
fp = fopen("out.txt", "a");
if(fp == NULL)
{
cout << "Невозможно открыть файл out.txt: "
<< ferror(fp) << "\n";
return -1;
}
// Записываем число
fprintf(fp, "%f", number);
// Закрываем файл
fclose(fp);
return 0;
}
|
В файл записываются только действительные значение. Необходимо подсчитать среднее арифметическое и записать их в другой файл. Это получается сначала нужно записать данные из файла в маасив а потом только сложить элементы и разделить на их количество? | |
|
|
|
|
|
|
|
для: ols
(19.09.2007 в 17:25)
| |
#include <iostream.h>
#include <stdio.h>
int main()
{
double number=0;
float fpp,temp=0;
int kol=0;
FILE *fp;
// Открываем файл для дозаписи и чтения
fp = fopen("out.txt", "a+");
if(fp == NULL)
{
cout << "Невозможно открыть файл out.txt: "
<< ferror(fp) << "\n";
return -1;
}
//Запрашиваем число до тех пор пока не введут 0
do {
cout << "number = ";
cin >> number;
if (number!=0){
// Записываем число
fprintf(fp, "%f", number);
fprintf(fp,"\n");}
}
while (number!=0); //проверка, если ввели 0 то заканчиваем запись в файл
rewind(fp); //устанавливаем указатель на начало файла
//считываем до тех пор пока не достигнут конец файла
while (!feof(fp))
{
fscanf(fp,"%f",&fpp);
temp+=fpp;
kol++;
}
fclose(fp); // Закрываем файл
// Открываем файл для дозаписи
fp = fopen("sreednee.txt", "w");
fprintf(fp, "%f", temp/kol);
fclose(fp); // Закрываем файл
return 0;
}
|
| |
|
|
|
|
|
|
|
для: dima_s_d_s
(19.09.2007 в 20:27)
| | А для того чтобы потом вывести результат среднего арифметического, необходимо еще одну переменную объявить? Тоесть чтобы после или перед записью с.а. в консоли вывести его значение. | |
|
|
|
|
|
|
|
для: ols
(26.09.2007 в 03:34)
| | Нет ничего больше объявлять не надо, просто допиши
| |
|
|
|