|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.05.2012, 01:57 | #1 |
Регистрация: 20.05.2012
Сообщений: 3
|
Работа с текстовыми файлами
Помогите пожалуйста!
Задача следующая: Случайным образом создать таблицу пар значений и записать её в текстовый файл в виде: a b c 5.2 4.6 2.5 можно 1.2 8.9 2.3 ------------------------- Считать из файла записанные данные и определить, можно ли построить треугольник с такими сторонами. В соответствующих строках (где можно), указать площадь полученного треугольника (в другом файле). Получается всё, кроме считывания информации записанной в первый файл,в итоге во второй записываются последние срандомированные числа... |
23.05.2012, 07:59 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Считывается как?
I'm learning to live...
|
23.05.2012, 08:56 | #3 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
И записываются как ? Будем в телепатов играть.
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
24.05.2012, 00:42 | #4 |
Регистрация: 20.05.2012
Сообщений: 3
|
int main()
{ setlocale(LC_ALL,"Russian"); time_t t; srand(time(&t)); int n; float a,b,c,p,S; FILE*fp,*fp1; fp=fopen("lab.txt","w"); if(!fp) { cout << "Не могу создать файл!!!"; exit(1); } cout<<"Введите количество строк "; cin>>n; printf("\t\ta\t\tb\t\tc\n"); for (int i=0;i<n;i++) { a=(float) rand() / RAND_MAX * 10+1; b=(float) rand() / RAND_MAX * 10+1; c=(float) rand() / RAND_MAX * 10+1; printf("\t\t%2.1f \t\t%2.1f \t\t%2.1f\n",a,b,c); fprintf(fp,"%2.1f,%2.1f,%2.1f\n",a, b,c); } fclose(fp); fp=fopen("lab.txt","r"); fp1=fopen("lab1.txt","w+"); cout<<"Проверим, какая тройка чисел, может образовать треугольник "<<endl; if(!fp1) { cout << "Не могу создать файл!!!"; exit(1); } printf("\t\ta\t\tb\t\tc\n"); for (int i=0;i<n;i++) { fscanf(fp,"%2.1f,%2.1f,%2.1f\n",&a, &b,&c); if ((a<b+c)&&(b<a+c)&&(c<a+b)) { p=(a+b+c)/2; S=sqrt(p*(p-a)*(p-b)*(p-c)); printf("\t\t%2.1f \t\t%2.1f \t\t%2.1f \tможно \tS=%2.1f\n",a,b,c,S); fprintf(fp1,"%2.1f,%2.1f,%2.1f,можн о,S=%2.1f\n",a,b,c,S); } else { printf("\t\t%2.1f \t\t%2.1f \t\t%2.1f\n",a,b,c); fprintf(fp1,"%2.1f,%2.1f,%2.1f\n",a ,b,c); } } fclose(fp1); fclose(fp); return 0; } После выполнения например выводит: 9,1, 8,0, 3,4 9,2, 6,5, 2,6 8,8, 6,9, 8,1 5,9, 8,1, 10,1 это первый файл из которого надо будет прочесть инфу,тут всё ок, а вот во втором оказывается только следующее: 5,9, 8,1, 10,1, можно, S=24,0 5,9, 8,1, 10,1, можно, S=24,0 5,9, 8,1, 10,1, можно, S=24,0 5,9, 8,1, 10,1, можно, S=24,0 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с текстовыми файлами | Арнис | Фриланс | 9 | 05.01.2011 18:50 |
Работа с текстовыми файлами | A_Orlov | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 14.06.2010 14:49 |
работа с текстовыми файлами | metallldoctor | Помощь студентам | 0 | 10.01.2010 15:28 |
Работа с текстовыми файлами | hascker | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 14.09.2009 19:01 |
Работа с текстовыми файлами | DartMrakkk | Общие вопросы Delphi | 3 | 14.07.2007 16:52 |