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

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

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

Author24 — интернет-сервис помощи студентам
Доброго времени суток всем форумчанам.
Столкнулся с вот такой вот задачей :в одномерном массиве,состоящем из 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...

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

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

19
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
20.09.2010, 15:59 2
Случайные числа
0
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 16:15  [ТС] 3
Хм.Прошел по ссылке.Почитал.Но не понял,как это можно применить к моему циклу
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
Эксперт С++
5057 / 3117 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.09.2010, 16:32 4
stdlib.h и time.h подключили?
0
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 17:11  [ТС] 5
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
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
20.09.2010, 17:20 6
C++
1
double *p=new double[n];
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
20.09.2010, 17:45 7
Цитата Сообщение от 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
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
20.09.2010, 17:53 8
а что это значит ?)
1
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 18:06  [ТС] 9
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Эксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
20.09.2010, 18:33 10
Цитата Сообщение от Demonhunterus Посмотреть сообщение
а вот это попытался применить - компилятор начал ругаться
ну да, поспешил малость... вот так должно работать:
C++
1
p[i] = static_cast<double>(rand()) / rand();
1
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
20.09.2010, 18:52  [ТС] 11
easybudda,
KuKu,
Огромное спасибо вам,ребята.Помогли.Во всем разобрался,всё работает
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
20.09.2010, 18:57 12
Цитата Сообщение от KuKu Посмотреть сообщение
а что это значит ?
static_cast<type_name>(another_type_value) что значит? приведение к типу в С++ - примерно то же, что в С (type_name)another_type_value
1
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
20.09.2010, 19:01 13
(type_name)another_type_value
а такая конструкция разве в с++ не работает или в ней что то есть нехорошее ?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
20.09.2010, 19:11 14
Цитата Сообщение от KuKu Посмотреть сообщение
а такая конструкция разве в с++ не работает или в ней что то есть нехорошее ?
Работает, но в разных книжках (на вскидку только Дейтлов помню - в первый раз у них увидел) настойчиво рекомендуют в С++ вот таким макаром типы приводить. Читал и расплывчатые заумные объяснения, чем оно лучше, но нифига не понял, решил как факт принять А было вроде про это уже на форуме - поищите...
1
Эксперт С++
5057 / 3117 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
21.09.2010, 09:33 15
Цитата Сообщение от easybudda Посмотреть сообщение
Читал и расплывчатые заумные объяснения, чем оно лучше, но нифига не понял
0
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
25.09.2010, 17:31  [ТС] 16
C++
1
 p[i] = static_cast<double>(rand()) / rand();
--- как это изменить,чтобы массив заполнялся не только положительными,но и отрицательными числами? Помогите
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
25.09.2010, 17:36 17
Цитата Сообщение от Demonhunterus Посмотреть сообщение
как это изменить,чтобы массив заполнялся не только положительными,но и отрицательными числами?
C++
1
p[i] = static_cast<double>(rand() - rand()) / rand();
1
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
25.09.2010, 17:48  [ТС] 18
Хех ))) Так просто...Спасибо!
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
25.09.2010, 18:08 19
Цитата Сообщение от easybudda Посмотреть сообщение
Работает, но в разных книжках (на вскидку только Дейтлов помню - в первый раз у них увидел) настойчиво рекомендуют в С++ вот таким макаром типы приводить
новые способы приведения разграничивают безопасные, полиморфные и опасные приведения, в этом пожалуй есть смысл
0
Эксперт С++
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
25.09.2010, 19:14 20
Цитата Сообщение от KuKu Посмотреть сообщение
а такая конструкция разве в с++ не работает или в ней что то есть нехорошее ?
Работает, она фактически сначала пытается сделать приведение с помощью static_cast'а, если не получается, то используется самый небозопасный каст - reinterpret_cast. Подробнее здесь.
0
25.09.2010, 19:14
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2010, 19:14
Помогаю со студенческими работами здесь

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

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

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

Генерация массива случайными вещественными числами
Дан одномерный вещественный массив из N элементов (N – нечетное), заданных случайными числами на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru