3 / 3 / 0
Регистрация: 07.12.2017
Сообщений: 584
1

[C++ Error] Unit1.cpp(23): E2060 Illegal use of floating point

20.10.2018, 22:43. Показов 2001. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ошибка на 22 строке
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
//---------------------------------------------------------------------------
  #include <numeric.h>
#include <vcl.h>
#include  <iostream.h>
#include <conio.h>
#include <fstream.h>
//---------------------------------------------------------------------------
 
using namespace std;
int main()
{
    const int n = 10;
    int mas[n];
    float a = 5;
  float b = 10;
    int temp;
    srand (time(NULL));
    std::fstream f;
    f.open("filename.txt",std::fstream::out); 
    for(int i = 0; i<n;i++) 
    {
        mas[i]=rand()%a+(b-a);
        f<<mas[i]; 
    }
    f.close();
    
    for(int i = 0;i<n;i++) std::cout<<mas[i]<< " ";
    std::cout<<"\n";
    for(int i = 0;i<n;i++)
        for(int j =i+1;j<n;j++)
        {
            if(mas[i]>mas[j])
            {
                temp = mas[i];
                mas[i] = mas[j];
                mas[j] = temp;
            }
        }
        
    f.open("filename.txt",std::fstream::out); 
for(int i = 0;i<n;i++)
    { 
        std::cout<<mas[i]<< " "; 
        f<<mas[i];
    }
    f.close();
 
 
         getch();
        return 0;
}
//---------------------------------------------------------------------------
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2018, 22:43
Ответы с готовыми решениями:

[C++ Error] Unit1.cpp(29): E2060 Illegal use of floating point
void __fastcall TForm1::Button1Click(TObject *Sender) { float a, b; float ost, i=0; ...

E2060 illegal use of floating point
Задание: x=2a+6b y=sin(a*x)cos(b*x) z=2x*y-y^2 тип исходных данных: a- целое b -...

Illegal use of floating point
Подскажите в чем может быть дело: int sigmasignal=5,i,j,N=20; float vhmatrica, rsignal; double ...

Illegal use of floating point
Подскажите, почему с++ ругается на мою функцию: float h (float a, float b) { return...

9
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
20.10.2018, 22:47 2
Нельзя через % брать остаток с float, только целые.
0
3 / 3 / 0
Регистрация: 07.12.2017
Сообщений: 584
20.10.2018, 22:51  [ТС] 3
AlexP11223, а мне рандомные значения нужны
как их тогда записать?
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
20.10.2018, 22:53 4
a_lar, а они тебе обязательно дробные нужны?
0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
20.10.2018, 22:55 5
Вы ж а не меняете и оно 5. Зачем а float?
0
3 / 3 / 0
Регистрация: 07.12.2017
Сообщений: 584
20.10.2018, 23:00  [ТС] 6
Kuzia domovenok, да, по условию нужно сгенировать массив и упорядоченный массив записать обратно в файл

Добавлено через 4 минуты
AlexP11223,изменив на 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
//---------------------------------------------------------------------------
  #include <numeric.h>
#include <vcl.h>
#include  <iostream.h>
#include <conio.h>
#include <fstream.h>
//---------------------------------------------------------------------------
 
using namespace std;
int main()
{
    const int n = 10;
    int mas[n];
    float a ;
  float b ;
    int temp;
    srand (time(NULL));
    std::fstream f;
    f.open("filename.txt",std::fstream::out); 
    for(int i = 0; i<n;i++) 
    {
        mas[i]=rand()%a+(b-a);
        f<<mas[i]; 
    }
    f.close();
    
    for(int i = 0;i<n;i++) std::cout<<mas[i]<< " ";
    std::cout<<"\n";
    for(int i = 0;i<n;i++)
        for(int j =i+1;j<n;j++)
        {
            if(mas[i]>mas[j])
            {
                temp = mas[i];
                mas[i] = mas[j];
                mas[j] = temp;
            }
        }
        
    f.open("filename.txt",std::fstream::out); 
for(int i = 0;i<n;i++)
    { 
        std::cout<<mas[i]<< " "; 
        f<<mas[i];
    }
    f.close();
 
 
         getch();
        return 0;
}
//---------------------------------------------------------------------------
0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
20.10.2018, 23:00 7
Цитата Сообщение от a_lar Посмотреть сообщение
по условию нужно сгенировать массив и упорядоченный массив записать обратно в файл
и? как это к вопросу относится?
...и у вас массив все равно int.
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
20.10.2018, 23:01 8
Лучший ответ Сообщение было отмечено a_lar как решение

Решение

C++
1
a+rand()*1.0f*(b-a)/RAND_MAX;
0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
20.10.2018, 23:03 9
Цитата Сообщение от a_lar Посмотреть сообщение
изменив на float все равно ошибка
наоборот, сделайте int.
И верните инициализацию, сейчас у них неопределённые значения (мусор).
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
20.10.2018, 23:15 10
AlexP11223, я уже всё сделал с float
0
20.10.2018, 23:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2018, 23:15
Помогаю со студенческими работами здесь

Illegal use of floating point
#include &lt;stdio.h&gt; float factorial (int); float f (float); void main() {int a; float y;...

Выдает illegal use of floating point
float a,x,z,y; bool px; a=StrToFloat(Edit1-&gt;Text); x=StrToFloat(Edit2-&gt;Text); if ((a+x^3)&gt;0)...

Ошибка Illegal use of floating point
Добрый вечер, прошу помочь с ошибкой &quot;Illegal use of floating point&quot; double d=0; ...

Ошибка Illegal use of floating point
Программа по высчитыванию Периметра и Площади треугольника: #include &lt;stdio.h&gt; #include &lt;math.h&gt;...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru