Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36

Заполнение массива вещественными элементами

20.09.2010, 15:11. Показов 5686. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем форумчанам.
Столкнулся с вот такой вот задачей :в одномерном массиве,состоящем из n вещественных элементов,вычислить количество элементов массива,больших Х и вычислить время работы алгоритма.
Вроде бы с задачей справился,но когда справился понял,что у меня заполняется массив не вещественным,а целым типом,поиски в гугле успехом не увенчались,помогите ввести вещественный тип элементов массива при случайном заполнении вместо целочисленного.Заранее благодарен.
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
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdio.h>
using namespace std;
int main()
{
 srand(time(NULL));
 //Создание одномерного массива с размерностью заданной пользователем
 int n,X;
 cout<<"Vvedite razmer odnomernogo massiva - ";
 cin>>n;
 int *p=new int[n];
 //Заполним массив случайными значениями
 for(int i=0; i<n; i++)
 {
  p[i]=rand()%100;
  cout<<p[i]<<" ";
 } 
 cout << endl;
 //Вводим значение Х
 cout<<"Vvedite zna4enie 'X': ";
 cin>>X;
  clock_t time;
  time = clock();
 //Ищем и выводим значения,большие Х
    int count=0;
    cout<<"Naideno zna4eniy: "<<endl;
    for(int i=0;i<n;i++)
    {
        if(p[i]>X)
        {
            cout<<p[i]<<endl;
            count++;
        }
    }
 //Выводим количество элементов,больших Х
    cout<<"Koli4estvo elementov: "<<count<<endl;
 time = clock() - time;
 printf("%f", (double)time/CLOCKS_PER_SEC); //время выполнения "каких-то действий"
 cout << endl;
 for (int i=0; i<n; i++)
 {
    system("PAUSE");
    return EXIT_SUCCESS;
}
 //Не забывать освобождать память после того как массив уже не нужен
 delete [] p;
 cout<<" ";
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2010, 15:11
Ответы с готовыми решениями:

Заполнение массива вещественными числами с двумя знаками после запятой
Здравствуйте! Я только начала работать в С++ и не знаю как заполнить одномерный массив из 10 элементов вещественными числами в диапазоне от...

Заполнение массива элементами по условию
Нужен массив p который состоит из суммы элементов второго массива a за таким условием p = a; p = a+a; p= a+a+a; ...

Заполнение множеств элементами массива.
Нужно заполнить множества элемнетами массива случайным образом. #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; ...

19
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
20.09.2010, 15:59
Случайные числа
0
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 16:15  [ТС]
Хм.Прошел по ссылке.Почитал.Но не понял,как это можно применить к моему циклу
C++
1
2
3
4
5
 for(int i=0; i<n; i++)
 {
  p[i]=rand()%100;
  cout<<p[i]<<" ";
 }
P.S.dobule)rand()%100 --- ругается.
srand(time(NULL));
cout << rand() % 100; --- тоже не работает.Если srand(time(NULL)); перед фор-ом,то ничего не меняется,если после - компилятор ругается,если в цикле - одно и то же значение будет записываться и выводиться.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.09.2010, 16:32
stdlib.h и time.h подключили?
0
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 17:11  [ТС]
time.h был подключен,stdlib.h подключил,но всё то же,что было в P.S. указано осталось без изменений
обновлено:
p[i]=(double)(rand()%10000)/10; --- компилируется,но значения всё равно только целые.
Ткните носом,где искать ошибку,или кусочек кода покажите,пожалуйста,как это в принципе можно реализовать,если можно...

Добавлено через 16 минут
Ага.
p[i]=(double)(rand()%10000)/10;
18 C:\Dev-Cpp\LABA1cpp.cpp [Warning] converting to `int' from `double' --- вот почему значения всё равно только целые.Вопрос: где и что нужно задать,чтоб не было конвертации в int из double?
0
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
20.09.2010, 17:20
C++
1
double *p=new double[n];
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
20.09.2010, 17:45
Цитата Сообщение от KuKu Посмотреть сообщение
C++
1
double *p=new double[n];
мало того,
C++
1
2
for ( int i = 0; i < n; ++i )
  p[i] = static_cast<double>rand() / rand();
0
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
20.09.2010, 17:53
а что это значит ?)
1
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 18:06  [ТС]
C++
1
2
3
4
5
6
double *p=new double[n]; 
 for(int i=0; i<n; i++)
 {
  p[i]=(double)(rand()%10000)/100;
  cout<<p[i]<<" ";
 }
--- подошло,работает,благодарю!

C++
1
2
for ( int i = 0; i < n; ++i )
  p[i] = static_cast<double>rand() / rand();
--- а вот это попытался применить - компилятор начал ругаться:
C:\Dev-Cpp\LABA1cpp.cpp In function `int main()':
17 C:\Dev-Cpp\LABA1cpp.cpp expected `(' before "rand"
17 C:\Dev-Cpp\LABA1cpp.cpp expected `)' before ';' token
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
20.09.2010, 18:33
Цитата Сообщение от Demonhunterus Посмотреть сообщение
а вот это попытался применить - компилятор начал ругаться
ну да, поспешил малость... вот так должно работать:
C++
1
p[i] = static_cast<double>(rand()) / rand();
1
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 18:52  [ТС]
easybudda,
KuKu,
Огромное спасибо вам,ребята.Помогли.Во всем разобрался,всё работает
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
20.09.2010, 18:57
Цитата Сообщение от KuKu Посмотреть сообщение
а что это значит ?
static_cast<type_name>(another_type_valu e) что значит? приведение к типу в С++ - примерно то же, что в С (type_name)another_type_value
1
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
20.09.2010, 19:01
(type_name)another_type_value
а такая конструкция разве в с++ не работает или в ней что то есть нехорошее ?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
20.09.2010, 19:11
Цитата Сообщение от KuKu Посмотреть сообщение
а такая конструкция разве в с++ не работает или в ней что то есть нехорошее ?
Работает, но в разных книжках (на вскидку только Дейтлов помню - в первый раз у них увидел) настойчиво рекомендуют в С++ вот таким макаром типы приводить. Читал и расплывчатые заумные объяснения, чем оно лучше, но нифига не понял, решил как факт принять А было вроде про это уже на форуме - поищите...
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
21.09.2010, 09:33
Цитата Сообщение от easybudda Посмотреть сообщение
Читал и расплывчатые заумные объяснения, чем оно лучше, но нифига не понял
0
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
25.09.2010, 17:31  [ТС]
C++
1
 p[i] = static_cast<double>(rand()) / rand();
--- как это изменить,чтобы массив заполнялся не только положительными,но и отрицательными числами? Помогите
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
25.09.2010, 17:36
Цитата Сообщение от Demonhunterus Посмотреть сообщение
как это изменить,чтобы массив заполнялся не только положительными,но и отрицательными числами?
C++
1
p[i] = static_cast<double>(rand() - rand()) / rand();
1
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
25.09.2010, 17:48  [ТС]
Хех ))) Так просто...Спасибо!
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
25.09.2010, 18:08
Цитата Сообщение от easybudda Посмотреть сообщение
Работает, но в разных книжках (на вскидку только Дейтлов помню - в первый раз у них увидел) настойчиво рекомендуют в С++ вот таким макаром типы приводить
новые способы приведения разграничивают безопасные, полиморфные и опасные приведения, в этом пожалуй есть смысл
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
25.09.2010, 19:14
Цитата Сообщение от KuKu Посмотреть сообщение
а такая конструкция разве в с++ не работает или в ней что то есть нехорошее ?
Работает, она фактически сначала пытается сделать приведение с помощью static_cast'а, если не получается, то используется самый небозопасный каст - reinterpret_cast. Подробнее здесь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2010, 19:14
Помогаю со студенческими работами здесь

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

Заполнение одного массива элементами другого
Доброго времени суток, форумчане. Я и программирование - токо недавно вместе, месяц, кароч цветочно-конфетный период) - сами знаете,...

Как правильно реализовать заполнение двумерного массива элементами
Здравствуйте! Имеется проблема такого рода: Имеется 5-6 классов, с базовым классом и 5- наследниками. Все классы - имеют разный...

Заполнение двух динамических массивов случайными вещественными числами
У массивов получаются одинаковые значения, почему? Что посоветуете? #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include...

Генерация массива случайными вещественными числами
Дан одномерный вещественный массив из N элементов (N – нечетное), заданных случайными числами на промежутке [a; b). Значения N, a, b...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru