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

Ввод числа без точки в float - C++

Восстановить пароль Регистрация
 
thecyme
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 2
11.10.2013, 20:40     Ввод числа без точки в float #1
Здравствуйте форумчане, учусь в институте, вот тут практический написал задачу, но возникла проблема:
Если вдруг мне надо будет вводить целые числа, типа "4","5","6", вместо "4.0","5.0","6.0".
Как мне преобразовать ведённое int во Float.
P.s: (прочтите первым делом)
Простые примеры типа
C++
1
2
n*1.0 ; 
(double) n;
не помогают!.
Для особо любопытных:

Введённые числа используются в функции modf(n,&m), которая требует обязательно наличия точки.
Как решать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hwmlex
 Аватар для hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
11.10.2013, 20:45     Ввод числа без точки в float #2
static_cast<double> должно работать.
Catstail
Модератор
 Аватар для Catstail
21486 / 10239 / 1667
Регистрация: 12.02.2012
Сообщений: 17,117
11.10.2013, 20:48     Ввод числа без точки в float #3
Цитата Сообщение от thecyme Посмотреть сообщение
Как мне преобразовать ведённое int во Float.
- если ты вводишь значение переменной типа double (float) и не задаешь точку, число все равно будет числом с плавающей точкой (т.е. обрабатываться будет верно).

Цитата Сообщение от thecyme Посмотреть сообщение
которая требует обязательно наличия точки
- этого быть не может. Приведи код функции modf.
thecyme
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 2
11.10.2013, 22:58  [ТС]     Ввод числа без точки в float #4
Цитата Сообщение от Catstail Посмотреть сообщение
- если ты вводишь значение переменной типа double (float) и не задаешь точку, число все равно будет числом с плавающей точкой (т.е. обрабатываться будет верно).

- этого быть не может. Приведи код функции modf.
Сразу целиком, всю задачу

P.s. к задачке добавил (float) введённое число в надежде что, что-то изменится, но нет. Буду пробовать ещё предложенные способы
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
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
float X[1000];
int n;
int minimal () {
    int minx = 0;
    int Xmin = X[0];
    for (int i=0;i<n;i++) {
        if (X[i]<Xmin) {
            minx = i;
            Xmin = X[i];
        }
    }
    return minx;
}
 
 
void sdvig (int x) {
    for (int i=n;i>x;i--) {
        X[i+1]=X[i];
        X[i]=0;
    }
}
 
 
void nuli () {
    for (int i=0;i<n;i++) {
        if ((X[i]<0)&&(X[i+1]!=0)) {
            sdvig (i);
            n++;
        }
    }
}
 
 
float summa () {
    float sum = 0 ;
    float modf1= 2.0;
    for (int i=0;i<n;i++) {
        if (modf(X[i],&modf1)==0) sum+=X[i];
    }
    return sum;
}
 
float proizved () {
    float proi=1;
    float modf1= 2.0;
    for (int i=0;i<n;i++) {
        if ((modf(X[i],&modf1)!=0)&&(X[i]!=0)) proi*=X[i];
    }
    return proi;
}
 
void main () {
    int yes=0;
    float tempf;
    cout << "\"Razmer massiva\"(n) = ";cin >>n;
    for (int i=0;i<n;i++) {
        cout << i <<" = ";cin >> tempf;
        X[i]=(float) tempf;
    }
    // Summa
    float summ = summa();
    // Proizvedenie
    float proi = proizved();
    int minx = minimal();
    nuli ();
    if (minimal()!=minx) {
        cout << "\n Polozhenie Minimalnogo elementa izmenilos \n";
    }
    else if (minimal()==minx) {
        cout << "\n Minimalnii Element Ostalsya na meste \n";
    }
    cout << "\n Summa Chetnih elementov = " << summ << "\n Proizvedenie nechetnih = " << proi;
    cout << "\n elementi massiva(na vsyak sluchai) ";
    for (int i=0;i<n;i++) cout << "\n" << i << " = " << X[i] << "; ";
    system ("Pause");
}
Yandex
Объявления
11.10.2013, 22:58     Ввод числа без точки в float
Ответ Создать тему
Опции темы

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