Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
n1k0
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 2
#1

Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100 - C++

27.01.2014, 12:27. Просмотров 833. Ответов 4
Метки нет (Все метки)

Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100. Число n вводит пользователь. Последний отрицательный элемент поменять местом с максимальным элементом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 12:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100 (C++):

Сгенерировать и вывести на экран массив из целого числа n случайных чисел - C++
Сгенерировать и вывести на экран массив из целого числа n случайных чисел от -120 до 120. Создать новый массив из элементов от -50 до 50. ...

Сгенерировать и вывести на экран массив из целого числа n случайных чисел от -120 до 120 - C++
Сгенерировать и вывести на экран массив из целого числа n случайных чисел от -120 до 120. Вывести номер предпоследнего положительного...

Записать в массив значения функции f (x) = asin(x /100) , при x = 1,2,...,100 и вывести его на экран - C++
Записать в массив значения функции f (x) = asin(x /100) , при x = 1,2,...,100 и вывести его на экран

Заполнить файл целыми 30 числами, полученными с генератора случайных чисел в интервале от -100 до 100 - C++
1.Заполнить файл целыми 30 числами, полученными с помощью генератора случайных чисел в интервале от -100 до 100. Вывести на экран...

Вывести на экран таблицу стоимости яблок в диапозоне от 100 г. до 1 кг. с шагом 100 г - C++
Написать программу, которая выводит на экран таблицу стоимости, например, яблок в диапозоне от 100 г. до 1 кг. с шагом 100 г. Ниже приведён...

Используя арифметические операции, определить и вывести сумму цифр трехзначного целого числа k (100<=k<=255) - C++
1)осуществить: - проверку корректности по типу вводимых значений; - проверку диапазонов вводимых значений. -Используя...

4
Sasha800
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
27.01.2014, 14:09 #2
Добавлено через 1 минуту
Вот
C++ (Qt)
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
#include "stdafx.h"
#include "conio.h"
#include "iostream"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int *arr, size = 0;
    cout << "Input size of array" << endl;
    cin >> size;
    cout << "Array" << endl;
    arr = new int [size];
    for(int i = 0; i < size; i++)
    {   
        arr[i] = rand() % 200 -100;
        cout << arr [i]<<" ";
    }
    cout << endl;
 
 
    int max = 0, pos_max = 0;
        for(int i = 0; i < size; i++)
    {
        if(arr[i] > max)
        {
            max = arr[i];
            pos_max=i;
        }
    }
        
 
    int pos_otr = 0, last_otr = 0;
    for(int i = 0; i < size; i++)
    {
        if(arr[i] < 0)
        {
            pos_otr = i;
            last_otr = arr[i];
        }
    }
        arr[pos_otr] = max;
        arr[pos_max] = last_otr;
 
 
    for(int i = 0; i < size; i++)
    {       
        cout << arr [i]<<" ";
    }
    cout << endl;
 
system("pause"); 
 
    return 0;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,631
27.01.2014, 14:53 #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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <random>
#include <vector>
 
int main()
{
    int N;
    std::mt19937 gen {std::random_device()() };
    std::uniform_int_distribution<int> dist(-100, 100);
    auto print_v = [](const std::vector<int> &v)
    {
        std::copy(v.cbegin(), v.cend(), std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
    };
 
    std::cout << "N=";
    std::cin >> N;
    std::vector<int> vec(N);
 
    std::generate(vec.begin(), vec.end(), [&dist, &gen] {return dist(gen); });
    std::cout << "Before:\n";
    print_v(vec);
 
    auto it = std::find_if(vec.rbegin(), vec.rend(), [](const int x) { return x < 0; });
    if (it != vec.rend())
    {
        std::swap(*it, *std::max_element(vec.begin(), vec.end()));
        std::cout << "After:\n";
        print_v(vec);
    }
    else
        std::cout << "No negative elements, nothing to swap\n";
}
0
StailGot
28 / 23 / 6
Регистрация: 25.08.2013
Сообщений: 41
27.01.2014, 23:44 #4
C++ (Qt)
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
#include <algorithm>
#include <functional>
#include <iostream>
#include <random>
 
int main()
{
  using namespace std;
  using type   = int;
  using data_t = vector<type>;
 
  auto println = []( const data_t & data ) {
    for ( const auto & val : data ) cout << val << " "; cout << endl;
  };
 
  random_device engine;
  uniform_int_distribution<type> distribution( -100, 100 );
  
  size_t N {};
  cout << "put N: ";
  cin >> N;
 
  data_t data( N );
  generate_n( begin(data), N, bind(distribution, ref(engine)) );
  println( data );
 
  auto last_elem = find_if( data.rbegin(), data.rend(), [](type val) {return val < 0;} );
  if ( last_elem == data.rend() )
    cout << "Nothing changed.";
  else iter_swap( last_elem, max_element(begin(data), end(data)) ),
         println( data );
}
0
MrGluck
28.01.2014, 00:56     Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100
  #5

Не по теме:

а в чем принципиальное отличие от моего алгоритма?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2014, 00:56
Привет! Вот еще темы с ответами:

Массив: Слишком большие числа в массиве, хотя стоят ограничения диапазона (-100,100), как мне исправить это? - C++
Доброго времени суток. У меня выходят слишком большие числа в массиве, хотя стоят ограничения диапазона (-100,100), как мне исправить...

Двумерный целочисленный массив A(m;n) задается с экрана, либо генерируется в пределах от -100 до 100. Найти числа b1,b1,.bm, равные наименьшим значен - C++
Двумерный целочисленный массив A(m;n) задается с экрана, либо генерируется в пределах от -100 до 100. Найти числа b1,b1,..bm, равные...

Дан целочисленный массив А задается с экрана либо генерируется в пределах -100 до 100. Найти числа b1 b2 …bn равные суммам элементов строк - C++
Дан целочисленный массив А(m,n) задается с экрана либо генерируется в пределах -100 до 100. Найти числа b1 b2 …bn равные суммам элементов...

Датчиком случайных чисел сгенерируйте случайное натуральное число в интервале от 100 до 900. Определите большую цифру полученного числа - C++
Помигите пожалуйста! Очень нужно решение, если можно с пояснениями. Датчиком случайных чисел сгенерируйте случайное натуральное число...


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

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

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