Форум программистов, компьютерный форум CyberForum.ru

Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент - C++

Восстановить пароль Регистрация
 
KorolevaE
2 / 2 / 0
Регистрация: 24.11.2012
Сообщений: 34
02.05.2013, 13:41     Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент #1
Помогите пожалуйста, очень надо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2013, 13:41     Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент
Посмотрите здесь:

Дан массив. Переписать его второй, четвертый и т.д. элементы в другой массив такого же размера, расположив элементы подряд с начала массива C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом — все отрицательные C++
C++ дан двумерный массив размерностью Н, заполненный целыми числами, все его отрицательные элементы записать в одномерный массив, все его положительные за
преобразовать умножив положительные элементы на минимальный. с использованием сортировки C++
Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
02.05.2013, 15:44     Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент #2
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
#include <iostream>
#include <algorithm>
#include <numeric>
#include <iterator>
 
class Min
{
    int min_;
public:
    Min(int min): min_(min) {} 
    int operator ()(int &x)
    {
        return x *= min_;
    }
};
 
int main()
{
    const int n = 8;
    int a[n] = {10, 3, 4, 23, 4, 21, 4, 5}; 
    Min min = *std::min_element(a, a + n);
    std::for_each(a, a + n, min);
    std::copy(a, a + n, std::ostream_iterator<int>(std::cout, " "));
    system("pause");
    return 0;
}
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
03.05.2013, 15:07     Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент #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
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL,"Russian");
    srand (time(NULL));
 
    const int N = 10;
    int massiv [N];
    
    cout<<"Исходный массив: ";
        cout<<endl;
    for (int i = 0;i<N;i++)
    {
        massiv[i] = - 10 + rand () % 21;
        cout<<setw (3)<<massiv[i];
    }
    cout<<endl;
 
    int min,prz = 0;
    min = massiv[0];
    for (int i = 0;i<N;i++)
    {
        if (min > massiv[i])
            min = massiv[i];
        if (massiv[i] > 0)
            massiv[i] = massiv[i] * min;
    }
 
    cout<<"Преобразованный массив: ";
        cout<<endl;
    for (int i = 0;i<N;i++)
    {
        cout<<setw (3)<<massiv[i];
    }
 
    cout<<endl;
 
    system ("pause");
    return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
03.05.2013, 16:06     Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент #4
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
#include <algorithm>
#include <iterator>
#include <iostream>
#include <random>
#include <vector>
 
int main()
{
    std::default_random_engine gen;
    std::uniform_int_distribution <> distr(-25, 25);
 
    unsigned vectorSize;
    std::cout << "Input the size of vector: ";
    std::cin >> vectorSize;
 
    std::vector <int> vector (vectorSize);
    std::cout << "Vector: " << std::endl;
    std::generate(vector.begin(), vector.end(), [&] () -> int {
        return distr(gen);
    });
    std::copy(vector.begin(), vector.end(), std::ostream_iterator <int> (std::cout, " "));
 
    int minimalElement(*std::min_element(vector.begin(), vector.end()));
    std::cout << std::endl << "Minimal element: " << minimalElement << std::endl;
 
    std::cout << "New vector: " << std::endl;
    std::for_each(vector.begin(), vector.end(), [=] (int &currentElement) -> int {
        return currentElement = currentElement > 0 ? currentElement * minimalElement : currentElement;
    });
    std::copy(vector.begin(), vector.end(), std::ostream_iterator <int> (std::cout, " "));
 
    return 0;
}
Yandex
Объявления
03.05.2013, 16:06     Дан массив размера n. Преобразовать его, умножив все положительные элементы на минимальный элемент
Ответ Создать тему
Опции темы

Текущее время: 11:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru