@Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
|
21.12.2009, 04:52
[ТС]
|
|
решил, вот если надо кому.....
Код
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fds;
char s[1025]; //строка выдераемая из файла
char *chislo; // слово (число) выдераемое из строки
double mas[1000], min, max;// массив в котором будут храниться числа
int i, j, max_n, min_n; //i,j- счётчики, max- значение максэлемента max_n - его номер в массиве
fds=fopen("D:\\chisla.txt","rt"); //открываем для чтения
i=0;
while (fgets(s,1025,fds)!=NULL) //выдерается строка из файла пока не закончится фаил
{
chislo=strtok(s," "); //выдерается из строки слово(число) стоящие до пробела
while (chislo!=NULL) //проверка на конец строки
{
mas[i]=atof(chislo); //строка переводится в вещественное число и сохраняется в массиве
chislo=strtok(NULL," "); //выдерка слов продолжается
i++;
}
}
fclose(fds);
fds=fopen("D:\\chisla.txt","wt"); //открываем для записи
max=mas[0]; //поиск макс и мин
min=mas[0];
max_n=0;
min_n=0;
for (j=1; j<i; j++)
{
if (max<mas[j])
{
max=mas[j];
max_n=j;
}
if (min>mas[j])
{
min=mas[j];
min_n=j;
}
}
mas[max_n]=min; //переприсваивание
mas[min_n]=max;
for (j=0;j<i;j++)
{
gcvt(mas[j],10,s); // переводит число в строку
strcat(s," "); //долепливаем к слову пробел
fprintf(fds,s); //запись в фаил
}
fclose(fds);
return 0;
}
0
|