Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
7 / 7 / 1
Регистрация: 22.03.2010
Сообщений: 84
1

Случайные рациональные числа в массиве

23.03.2010, 00:12. Показов 2644. Ответов 7
Метки нет (Все метки)

Помогите, пожалуйста, наполнить массив случайными рациональными числами.. Как целыми я, вроде понял, а вот с рациональными проблема..
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
// Lab3.cpp : Defines the entry point for the console application.
//
 
 
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
float mas[];
float r;
int n;
 
int input();
 
int main()
{       
    setlocale(LC_CTYPE,"Russian");
    cout<<"                               Добро пожаловать!\n";
    input();
}
 
int input()
{
    srand ( time(NULL) );
    cout<<"Введи размерность массива";
    cin>>n;
    for (int i=0;i<=n;i++)
    {
        mas[i]=rand() % 10 + 1;
 
        cout<<mas[i];
    }
    return 0;
}
Добавлено через 8 минут
Кстати, и как вывести потом.. Просто в паскале это было с плавающей точкой.. А вот как здесь..
C++
1
2
3
4
5
6
int output()
{
    for (int i=0;i<=n;i++)
        cout<<"Массив:\n", mas[i];
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2010, 00:12
Ответы с готовыми решениями:

Случайные числа в массиве
Как с помощью генератора случайных чисел заполнить двумерный массив NxN числами в интервале 10-99...

Заменить отрицательные числа на случайные в диапазоне в двухмерном массиве
Пользователь вводит массив 3х3. Программа заменяет все отрицательные элементы на случайные числа в...

Сгенерировать случайные числа в массиве методом
Привет:) Помогите сгенерировать случайные числа массива методом, отдельно от самого массива Можно...

Программа обрабатывающая рациональные дроби хранящиеся в двумерном массиве
Напишите программу, обрабатывающую рациональные дроби, хранящиеся в двумерном массиве (матрице)....

7
119 / 68 / 17
Регистрация: 17.11.2009
Сообщений: 261
23.03.2010, 00:19 2
можно такую фишку замутить

mas[i]=(double)(rand()+999)/(rand()+1);

или красиво
int a=rand()%999;
int b=rand()%999+1;
double c=a/b;
0
7 / 7 / 1
Регистрация: 22.03.2010
Сообщений: 84
23.03.2010, 00:26  [ТС] 3
Что значит дабл в скобках..? Если не сложно, расскажи в кратце, как это работает..)

Добавлено через 39 секунд
И как вывести с приближением значения..

Добавлено через 1 минуту
1>c:\users\leonidus\documents\visual studio 2010\projects\lab3\lab3\lab3.cpp(31): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Lab3.obj : error LNK2001: unresolved external symbol "float * mas" (?mas@@3PAMA)
1>C:\Users\Leonidus\documents\visual studio 2010\Projects\Lab3\Debug\Lab3.exe : fatal error LNK1120: 1 unresolved externals
1>
0
119 / 68 / 17
Регистрация: 17.11.2009
Сообщений: 261
23.03.2010, 00:27 4
double в скобках для того чтобы получить значение вещественного числа а не целочисленного.
вместо double пиши float раз уж начал писать.
0
7 / 7 / 1
Регистрация: 22.03.2010
Сообщений: 84
23.03.2010, 00:31  [ТС] 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
// Lab3.cpp : Defines the entry point for the console application.
//
 
 
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <conio.h>
#include <stdlib.h>
 
using namespace std;
float mas[];
float r;
int n;
 
int input();
int output();
 
int main()
{       
    setlocale(LC_CTYPE,"Russian");
    cout<<"                               Добро пожаловать!\n";
    input();
    output();
}
 
int input()
{
    cout<<"Введи размерность массива";
    cin>>n;
    for (int i=0;i<=n;i++)
    {
        mas[i]=(double)(rand()+999)/(rand()+1);
 
    }
    return n;
}
 
int output()
{
    for (int i=0;i<=n;i++)
        cout<<"Массив:\n", mas[i];
    return 0;
}
Добавлено через 2 минуты
А если красиво, то как - то так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int input()
{
    cout<<"Введи размерность массива";
    cin>>n;
        int a=rand()%999;
        int b=rand()%999+1;
        double c=(double)a/b;
    for (int i=0;i<=n;i++)
    {
        mas[i]=c;
 
    }
    return n;
}
Я правильно понял..? Но оно всё равно не работает..

1>c:\users\leonidus\documents\visual studio 2010\projects\lab3\lab3\lab3.cpp(36): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Lab3.obj : error LNK2001: unresolved external symbol "float * mas" (?mas@@3PAMA)
1>C:\Users\Leonidus\documents\visual studio 2010\Projects\Lab3\Debug\Lab3.exe : fatal error LNK1120: 1 unresolved externals
0
119 / 68 / 17
Регистрация: 17.11.2009
Сообщений: 261
23.03.2010, 00:31 6
функцию output сделай так
C++
1
2
3
4
5
void output(int n)
{
        for (int i=0;i<=n;i++)
                cout<<"Массив:\n", mas[i];
}
и в 17 строке тоже поменяй на void output(int);
1
7 / 7 / 1
Регистрация: 22.03.2010
Сообщений: 84
23.03.2010, 00:41  [ТС] 7
Да, с void - это клёво)
Но, всё - таки..
1>c:\users\leonidus\documents\visual studio 2010\projects\lab3\lab3\lab3.cpp(36): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Lab3.obj : error LNK2001: unresolved external symbol "float * mas" (?mas@@3PAMA)
1>C:\Users\Leonidus\documents\visual studio 2010\Projects\Lab3\Debug\Lab3.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED

Добавлено через 3 минуты
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
#include <clocale>
#include <conio.h>
#include <stdlib.h>
 
using namespace std;
float mas[];
float r;
int n;
 
int input();
void output(int);
 
int main()
{       
    setlocale(LC_CTYPE,"Russian");
    cout<<"                               Добро пожаловать!\n";
    input();
    void output(int);
}
 
int input()
{
    cout<<"Введи размерность массива";
    cin>>n;
        int a=rand()%999;
        int b=rand()%999+1;
        double c=(double)a/b;
    for (int i=0;i<=n;i++)
    {
        mas[i]=c;
 
    }
    return n;
}
 
void output()
{
        for (int i=0;i<=n;i++)
                cout<<"Массив:\n", mas[i];
}
0
119 / 68 / 17
Регистрация: 17.11.2009
Сообщений: 261
23.03.2010, 01:01 8
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
#include <iostream>
#include <time.h>
 
using namespace std;
 
int main()
{          
    srand(time(NULL));
    double a;
    double b;
    
    int n;
    double mas[100]={0};
 
        cout<<"                               Wellcome!\n";
        cout << "Ener size: ";
        cin >> n; 
        for (int i=0;i<=n;i++)
        {
                a=rand()%1000;
                b=rand()%1000+1;
                mas[i]=(double)a/b;
 
        }
        for (int i=0;i<n;i++)
                cout<< "Massiv: " << mas[i] << endl;
        return 0;
}
Работает, если надо переделай.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2010, 01:01

Рациональные числа
Доброго времени суток ! В проекте нужно было написать класс рационального числа.После чего решение...

Рациональные числа
Есть ли у когото информация или пример проги для работы с рациональными числами?

Рациональные числа
Есть рациональное число больше единицы. Нужно доказать, что используя действия сложения, вычитания...

Рациональные числа в файле
В файле содержатся рациональные числа, причем рациональное число изображается в виде записи с двумя...

Иррациональные и рациональные числа
Прошу помощи максимально просто доказать или опровергнуть, что в любой окрестности иррационального...

Отсортировать рациональные числа в виде: <числитель> <знаменатель>
В файле Ratio содержатся рациональные числа в виде: &lt;числитель&gt; &lt;знаменатель&gt; Расположить их в...


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

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

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