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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
#1

Не работает сортировка элементов массива или неправильно записываются элементы в файл - C++

18.12.2010, 14:29. Просмотров 293. Ответов 0
Метки нет (Все метки)

Доброго времени суток!

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

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;
}
Задание:
Файл содержит вещественные числа. Записать все положительные числа в порядке возрастания в файл positive.txt, а отрицательные числа в порядке убывания в файл negative.txt.

Помогите, пожалуйста, найти ошибку и, если можно объясните, что было не так. Заранее всем спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 14:29     Не работает сортировка элементов массива или неправильно записываются элементы в файл
Посмотрите здесь:

Расположить элементы массива по возрастанию (пузырьковая сортировка не работает) - C++
нужно расположить элементы массива по возврасттанию, хотел воспользоваться пузырьковой сортировкой, но при выполнии кода, он все равно...

Неправильно работает сортировка - C++
сортирует только первый столбец. в чём беда? заранее спасибо #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; using...

Неправильно работает сортировка слиянием - C++
Всем привет!!! Пытаюсь реализовать алгоритм по книге , там псевдокод, я попытался перенести всё на С++, вроде бы всё делаю правильно, но...

Неправильно работает сортировка матрицы - C++
помогите разобраться с программой... у меня неправильно работает сортировка, сортирует не до конца, и еще нужно сделать чтоб сортировал по...

Неправильно работает сортировка с char массивами - C++
Помогите, не работает вторая сортировка.void Sort_salary(List **begin) { List *t = NULL, *t1, *r; if ((*begin)-&gt;next-&gt;next == NULL) ...

Неправильно считает функцию вычисления суммы элементов массива - C++
Добрый день! Имеется код, но функция неправильно выводит результат. Подскажите, что неверно. #include &quot;stdafx.h&quot; #include &quot;math.h&quot; ...

Неправильно считается произведение элементов массива, принадлежащих заданному диапазона - C++
В одномерном массиве, который состоит из n целых элементов, вычислить произведение элементов массива из диапазона , расположенных между...

Неправильно выводит строчку с минимальной суммой элементов строки массива - C++
В чём проблема я не очень понимаю // 2.1.cpp: главный файл проекта. #include &quot;stdafx.h&quot; #include &lt;algorithm&gt; #include...

Не записываются пробелы в файл - C++
Здравствуйте, у меня такая проблема: Вывод в файл происходит в бинарном режиме, но &gt;&gt; при выводе в файл пропускает пробелы. На какую...

Не записываются символы в файл - C++
Нужно считать из файла текст, и записать по символу в новый файл. Почему - то при открытии выходного файла там ничего нет. Помогите найти...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru