Форум программистов, компьютерный форум CyberForum.ru

Сортировка массива и запись в файл - C++

Восстановить пароль Регистрация
 
Anastasiya_1692
 Аватар для Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
18.12.2010, 17:14     Сортировка массива и запись в файл #1
Доброго времени суток!

Задание:
Файл содержит вещественные числа. Записать все положительные числа в порядке возрастания в файл positive.txt, а отрицательные числа в порядке убывания в файл negative.txt.

Проблема с сортировкой элементов. Не понимаю в чем дело:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(int argc, char* argv[])
{double otr[10],pol[10],ch;
int kol=0,i=0,j=0,kol_otr=0,kol_pol=0;
FILE *ishf;
printf ("Neobhodimo vvesti ishodnie chisla\n");
printf ("Vvedite koli4estvo chisel: ");
scanf ("%d", &kol);
ishf=fopen ("ishodn.txt","w");
 for ( i=0;i<kol;i++){
  scanf("%lf", &ch);
  fprintf(ishf,"%lf\n",ch);
  }
i=0;  
if (fclose(ishf)==0) printf ("Bil sozdan file ishodn.txt\n");
ishf=fopen ("ishodn.txt","r");
while (!feof(ishf)){
 fscanf(ishf, "%lf\n", &ch);
  if (ch>0){
   pol[i]=ch;
   i++;
   kol_pol++;
  }
  if (ch<0){
   otr[j]=ch;
   j++;
   kol_otr++;
  }
}  
for (i=0;i<kol_pol-1;i++)
 for (j=1;j<kol_pol;j++)
   if (pol[i]>pol[j]){
   ch=pol[i];
   pol[i]=pol[j];
   pol[j]=ch;
   }
 
for (i=0;i<kol_otr-1;i++)
 for (j=1;j<kol_otr;j++)
   if (otr[i]<otr[j]){
   ch=otr[i];
   otr[i]=otr[j];
   otr[j]=ch;
   }
 
fclose(ishf);
FILE *polf;
polf=fopen ("positive.txt","w");
printf ("Polozhitel'nie chisla:\n");
 for ( i=0;i<kol_pol;i++){
   fprintf(polf,"%lf\n",pol[i]);
   printf ("Chislo %lf bilo zapisano v fail positive.txt\n", pol[i]);
 }
fclose(polf);
FILE *otrf;
printf ("Oritsatel'nie chisla:\n");
otrf=fopen ("negative.txt","w");
 for ( i=0;i<kol_otr;i++){
   fprintf(otrf,"%lf\n",otr[i]);
   printf ("Chislo %lf bilo zapisano v fail negative.txt\n", otr[i]);
 }  
fclose(otrf);
 getch();
 
        return 0;
}
Помогите, пожалуйста, найти ошибку и, если можно объясните, что было не так. Заранее всем спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 17:14     Сортировка массива и запись в файл
Посмотрите здесь:

Сортировка массива и запись данных в файл в произвольное место C++
C++ Запись массива в файл.
Запись из массива а файл C++
C++ Запись массива в файл
Запись массива в файл C++
C++ Одномерный массив. Сортировка и запись массива в другой файл
C++ Запись массива в файл
Считывание, Сортировка и Запись массива в текстовый документ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru