Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269

Задать размерность вектору генератором случайных чисел

19.03.2016, 16:08. Показов 1005. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет) Ситуация следующая:

Динамический вектор.
Написать программу по формированию динамического вектора целого типа. Имя вектора – Massiv. Размерность вектора задается генератором случайных чисел (размерность примерно 20÷40 элементов). Каждый элемент вектора задается генератором случайных чисел в диапазоне от -100 до 99. Распечатать вектор по 10 элементов в строке (получить аккуратную таблицу). Далее с вектором Massiv продолжить работу по вариантам.
Вар. 14 Ввести в начало вектора Massiv первые пять элементов со значением 100.

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
#include <iostream>
#include <clocale>
#include <ctime>
 
using namespace std;
 
int main()
{
    setlocale (0,"");
    srand((unsigned)time(NULL));
 
    int n, i;
    n = 10;
 
    //1. Использование оператора new для создания динамического вектора.
 
    //создание - выделение памяти под одномерный массив
    int *Massiv;
    Massiv = new int[n];
 
    //присвоения начальных значений элементам
    for(i=0; i<n; i++) Massiv[i] = (int)(rand()%200-99);
 
    //замена пять первых элемнтов на 100
    cout<<"Замена первых пяти элементов на 100\n";
    
    for(i=0; i<5; i++)
    {
        Massiv[i]=100;
    }
 
        //печать
    for(i=0; i<n; i++)
    cout<<" "<<Massiv[i];
    cout<<endl;
 
        //удаление
    delete[] Massiv; //освобождаем память
 
    return 0;
}
Получается осталось сделать следующее, на сколько я понял надо скопировать мой вектор и с помощью генератора случайных чисел продублировать его рандомное кол-во раз...Подскажите пожалуйста и оставьте коммент для меня, чтобы я знал)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.03.2016, 16:08
Ответы с готовыми решениями:

Работа с генератором случайных чисел
Здравствуйте, уважаемые форумчане. Прошу помощи вот с такой задачей, не могу никак ничего придумать. Вот собственно задача: ...

Программа с генератором случайных чисел
Написать программу которая генерирует 2 целых числа от 0 до 9 и спрашивает произведение у пользователя, а потом сверяет его с верным. ...

Как работать с генератором случайных чисел
В интернете нашёл мешалку для vector'a #include &lt;algorithm&gt; #include &lt;functional&gt; #include &lt;vector&gt; #include &lt;set&gt; ...

8
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
19.03.2016, 17:58
Не понял, хочешь работать с динамическим массивом как вектор, или все таки использовать настоящий вектор, так вектор без слова Динамический динамичен
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
19.03.2016, 18:21
Цитата Сообщение от ShmelVG Посмотреть сообщение
осталось сделать следующее
...
Цитата Сообщение от ShmelVG Посмотреть сообщение
Размерность вектора задается генератором случайных чисел (размерность примерно 20÷40 элементов).
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
19.03.2016, 18:38  [ТС]
Логичнее конечно было бы первое))У меня ни как не получается

C++
1
2
3
4
5
6
7
j=(int)(rand()%20+20);
    for(i=0; i<=j; i++)
    {
        int j = (int) rand()%20+20;
 
        cout<<"\n"<<" "<<Massiv[i]<<endl;
    }
Но этот ужас сами знаете как выливается, не знаю как свой вектор в строчку повторить в столбик рандомное кол-во раз))
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
19.03.2016, 18:41
с массивом сам мути, вектор работает так, лишние переменные можно сократить
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
#include <iostream>
#include <vector>
//#include <list>
#include <cstdlib>
#include <iomanip>
using namespace std;
 
int main ()
{
   setlocale(LC_ALL,"RUS");
   vector <int> v;
   cout << "Размер= " << v.size() << "\n";
   int c;
   cout << "Введите кол-во элементов: ";
   cin >> c;
   for (int i=0; i<c; i++)
   {v.push_back(rand()%200-99);}
 
   cout << "Размер= " << v.size() << "\n";
   vector<int>:: iterator p=v.begin(); // доступ через итератор
   int i = 0;
   while (p!= v.end())
   { cout << setw(4) << *p ; 
   if (!((i+1)%10)) cout << endl; 
   ++i;
   ++p;}
   cout << "\n" << endl;
 
 
    int n,k,r;
    cout << "Положение: "; cin >> n;
    cout << "Вводимый элемент: "; cin >> k;
    cout << "Кол-во вводимых элементов: "; cin >> r;
    v.insert(v.begin()+n,r,k);
    cout <<  "После вставки: \n";
    i=0;
    for (p = v.begin(); p != v.end(); ++p)
    {
    cout << setw(4) << *p ; 
   if (!((i+1)%10)) cout << endl; 
   ++i;
    }
    cout << "\n";
 
    int f;
    int l;
    cout << "Положение: "; cin >> f;
    cout << "Кол-во удаляемых: "; cin >> l;
     
    cout << "Размер= " << v.size() << "\n";
//  cout << "Значения введенного= " << l+f <<"\n";
      
    if (l+f < v.size())   v.erase(v.begin() + f, v.begin()+l+f);
      else v.erase(v.begin() + f, v.end());
      
    
    cout << "После удаления: " << "\n";
    i=0;
    for (p=v.begin(); p != v.end(); ++p)
    {
    cout << setw(4) << *p ; 
    if (!((i+1)%10)) cout << endl;  
   ++i;
    }
    return 0;
 }
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
19.03.2016, 19:54  [ТС]
Не много не то(
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
19.03.2016, 20:14
до указателей и векторов дорости надо еще, это не на готовеньком учиться

Добавлено через 6 минут
одна очень полезная строка все же есть
Распечатать вектор по 10 элементов в строке (получить аккуратную таблицу).
C++
1
 if (!((i+1)%10)) cout << endl;
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
19.03.2016, 20:20  [ТС]
Согласен, что есть, то и делаю))...Неужели нету способа по проще, по сути просто скопировать строчку и напечатать её 10 раз в столбик?)))
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
19.03.2016, 22:42
Можно же просто, если постараться
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
int main(){
   int m[100];
   for(int i=0;i<100;i++){
      cout << setw(4) << (m[i]=rand()%200-99);
      if(!((i+1)%10)) cout << endl;
   }
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2016, 22:42
Помогаю со студенческими работами здесь

Описать функции элементов одномерного массива с генератором случайных чисел
Описать функции формирования элементов одномерного массива с помощью генератора случайных чисел и изменения всех элементов массива на...

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

Задать массив генератором случайных чисел
Задать массив генератором случайных чисел . Найти минимальный элемент массива и вывести на экран все элементы массива, отличные от нуля

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

Проблемы с генератором случайных чисел
Мне нужно случайное число от 1 до 5 (и 1 и 5 включительно), оно должно выбираться несколько раз в программе. Я использую формулу описанную...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru