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

ОБНУЛЯЕТСЯ ДРОБНАЯ ЧАСТЬ ПРИ СОРТИРОВКЕ МАССИВА!!! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Модификация записи в файле структур http://www.cyberforum.ru/cpp-beginners/thread273956.html
Необходимо удалить запись из произвольной точки файла. Написал код: void delete_record() { SONG tmp; // #define SONG_SIZE sizeof(SONG) long delete_item_pos = (current_start + (current_line -3 ) / 2) * SONG_SIZE; long next_item = delete_item_pos + SONG_SIZE; if (delete_item_pos < file_size * SONG_SIZE) { while (next_item < (file_size * SONG_SIZE)) {...
C++ Разработать тип данных graf, определив для него операции добавления и вычитания помогите срочно нужно!!! разработать тип данных graf, определив для него операции добавления и вычитания!! http://www.cyberforum.ru/cpp-beginners/thread273955.html
C++ Класс-Контейнер Вектор
Вставить новый элемент после всех элементов, кратных своему номеру
C++ как переделать?
нужно как-то зделать тоже самое только методом касательных. #include<stdio.h> #include<conio.h> #include<math.h> float function(float x) { float h;
C++ Сортировка массива по методу убывания? http://www.cyberforum.ru/cpp-beginners/thread273945.html
Массив B сформировать по правилу b = sqrt(fabsf(i * i - a)), где a=25.8. Найти сумму элементов с номерами с 5-го по 10-ый, упорядочить эти элементы по убыванию и найти произведение элементов Bi < 8.5. Все я сделал, но почему-то при сортировке массива дробная часть обнуляется. Почему так происходит? #include "stdafx.h" #include "iostream" #include "conio.h" #include "stdlib.h" #include...
C++ Найти длину самого короткого слова Даны слова, разделенные пробелами. Найти длину самого короткого слова. подробнее

Показать сообщение отдельно
Adam-RS
 Аватар для Adam-RS
1 / 1 / 0
Регистрация: 02.10.2010
Сообщений: 28
10.04.2011, 22:33     ОБНУЛЯЕТСЯ ДРОБНАЯ ЧАСТЬ ПРИ СОРТИРОВКЕ МАССИВА!!!
Массив B[20] сформировать по правилу b[i] = sqrt(fabsf(i * i - a)), где a=25.8. Найти сумму элементов с номерами с 5-го по 10-ый, упорядочить эти элементы по убыванию и найти произведение элементов Bi < 8.5.
Все я сделал, но почему-то при сортировке массива дробная часть обнуляется. Почему так происходит?
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "stdlib.h"
#include "math.h"
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    float b[20], sum = 0, pr = 1, a = 25.8;
    int i, j, s;
 
    for (i = 0; i < 20; i++)
    {
        b[i] = sqrt(fabsf(i * i - a));
        printf ("%3.1f    ", b[i]);
    }
    
 
    for (j = 0; j < 20; j++)
        
    for (i = 0; i < 19; i++)
        
        if (b[i] < b[i + 1]) 
       {
          s = b[i + 1];
          b[i + 1] = b[i];
          b[i] = s; 
       }
 
    printf("\n\nV poryadke ubivaniya:\n");
 
    for (i = 0; i < 20; i++)
        printf ("%3.1f   ", b[i]);
        printf("\n");
    
    for (i = 4; i < 10; i++)
        sum += b[i];
    
    for (i = 0; i < 20; i++)
        if (b[i] < 8.5)
            pr *= b[i];
    
    printf ("\nsum = %3.1f\n", sum);
    printf ("pr = %7.1f\n", pr);
    
    getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru