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

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

Войти
Регистрация
Восстановить пароль
 
Нубарик
4 / 4 / 1
Регистрация: 06.11.2010
Сообщений: 40
#1

Деление без откидывания дробной части - C++

09.11.2010, 13:51. Просмотров 480. Ответов 5
Метки нет (Все метки)

привет обитателям форума.
у меня вот такая вот проблемка, задание простое но поделить не могу никак.
*****
Задан массив из 10 элементов(с клавиатуры или случайно ).
надо все его элементы поделить на первый.
*****
вот так вот кажется нормально, но при деление откидывает дробовую часть:
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
#include <vcl.h>
#pragma hdrstop
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <math.h>
 
using namespace std;
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main()
{
        const  n = 10;
        randomize ();
        int mas[n];
        float dil1,dil2,dil3,dil4,dil5,dil6,dil7,dil8,dil9,dil10;
        cout<<"\n masyv : \n";
        for(int i=0; i<n; i++)
        {
                mas[i]=random(101);
                cout<<mas[i]<<"\t";
         }
 
        dil1=mas[0]/mas[0];
        cout<<endl<<mas[0]<<"/"<<mas[0]<<" = "<<dil1<<endl;
 
        dil1=(mas[1])/(mas[0]);
        cout<<endl<<mas[1]<<"/"<<mas[0]<<" = "<<dil2<<endl;
 
        dil1=mas[2]/mas[0];
        cout<<endl<<mas[2]<<"/"<<mas[0]<<" = "<<dil3<<endl;
 
        dil1=mas[3]/mas[0];
        cout<<endl<<mas[3]<<"/"<<mas[0]<<" = "<<dil4<<endl;
 
        dil1=mas[4]/mas[0];
        cout<<endl<<mas[4]<<"/"<<mas[0]<<" = "<<dil5<<endl;
 
        dil1=mas[5]/mas[0];
        cout<<endl<<mas[5]<<"/"<<mas[0]<<" = "<<dil6<<endl;
 
        dil1=mas[6]/mas[0];
        cout<<endl<<mas[6]<<"/"<<mas[0]<<" = "<<dil7<<endl;
 
        dil1=mas[7]/mas[0];
        cout<<endl<<mas[7]<<"/"<<mas[0]<<" = "<<dil8<<endl;
 
        dil1=mas[8]/mas[0];
        cout<<endl<<mas[8]<<"/"<<mas[0]<<" = "<<dil9<<endl;
 
        dil1=mas[9]/mas[0];
        cout<<endl<<mas[9]<<"/"<<mas[0]<<" = "<<dil10<<endl;
 
 
        cout<<endl;
        system("pause");
        return 0;
}
помогите пзл а то повешусь на шнуре от мышки =))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2010, 13:51     Деление без откидывания дробной части
Посмотрите здесь:

Деление перменных с отображением дробной части - C++
Здравствуйте!Скажите пожалуйста, как поделить переменные, чтобы отобразилась дробная часть? То есть, что-то типа такого: int M,N; ...

Округление дробной части - C++
Помогите пожалуйста!!! Как реализовать метод округления дробной части до 0,1 (0,36 -&gt; 0,4; 0, 33333 -&gt;0,3 и т.д.)????

Отброс дробной части - C++
как можно отбросить дробную часть(не округлить) от переменной?

Вывод дробной части - C++
Всем привет. Проблема собственно такая, не получается вывести дробную часть стороны треугольника, т.е 4,5(выводит только 4) уже не выводит,...

Погрешность дробной части - C++
Сначала опишу задание, потом проблему. Задание: Дан первый элемент, остальную часть последовательности чисел надо вычислить по...

Рассмотрение дробной части чисел - C++
Здравствуйте! :) Подскажите, пожалуйста, с решение одной задачки. Сама задача:Дана строка. Если строка содержит целое число – вывести 0,...

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

Вывод дробной и целой части - C++
Вывод дробной и целой части. Вводим число с = 1,5 ; Выводит целое: а = ; и дробное: в = ;

Разделитель целой и дробной части - C++
Как получить текущий разделитель целой и дробной части ? visual studio 2013.

Сумма цифр дробной части - C++
Всем привет! Весь день пытаюсь найти ошибку в своей программе. Задача вот такая: Найдите сумму первых трех цифр дробной части...

Выделение дробной части из числа - C++
Дано число, например, х=124,556 нужно найти его целую и дробную части, чтобы получилось так: int a(целая),b(дробная) а=124 b=556 ...

Вывод целой и дробной части - C++
&quot;Вводятся числитель и знаменатель дроби. Вывести: знак, целую часть, сокращенные числитель и знаменатель.&quot; со знаком разобрался,а вот...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
09.11.2010, 13:58     Деление без откидывания дробной части #2
Нубарик, массив у вас типа int. Вот и происходит целочисленное деление. В выводе тоже косяки: находите всё время dil1, а выводите dil2,dil3,dil4 - они вообще чему равны?

Добавлено через 2 минуты
И вообще, используйте циклы)
AemClock
6 / 6 / 1
Регистрация: 04.06.2010
Сообщений: 19
09.11.2010, 13:58     Деление без откидывания дробной части #3
Надо привести при делении к дробному типу вот так:
C++
1
dil1=((float)mas[1])/(mas[0])
Также былобы удобно использовать массив dil, а не 10 переменных.
Нубарик
4 / 4 / 1
Регистрация: 06.11.2010
Сообщений: 40
09.11.2010, 13:58  [ТС]     Деление без откидывания дробной части #4
я уже менял на float, кучу всего перепробовал, а ничего не меняется.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
09.11.2010, 14:02     Деление без откидывания дробной части #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
#include <cstdlib>
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    const  n = 10;
    double mas[n];
    double dil; // или массив, если надо запоминать
 
    cout<<"Massiv: \n";
    for(int i=0; i<n; i++)
    {
        mas[i]=rand()%100+1;
        cout<<mas[i]<<"\t";
    }
 
    for(int i=0; i<n; i++)
    {
        dil=mas[i]/mas[0];
        cout<<endl<<mas[i]<<"/"<<mas[0];
        cout<<" = "<<dil<<endl;
    }
 
    cout<<endl;
    system("pause");
    return 0;
}
Нубарик
4 / 4 / 1
Регистрация: 06.11.2010
Сообщений: 40
09.11.2010, 14:09  [ТС]     Деление без откидывания дробной части #6
большое спасибо поменял на
C++
1
dil1=((float)mas[1])/(mas[0]);
оно заработало, я пробовал похоже делать, но (float) писал уже после дроби (
ещё ток увидел, что в каждой строчке у меня было dil1.

Добавлено через 3 минуты
dihlofos

сейчас попробую Ваш вариант, спасиб за помощь.
Yandex
Объявления
09.11.2010, 14:09     Деление без откидывания дробной части
Ответ Создать тему
Опции темы

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