3 / 0 / 1
Регистрация: 09.03.2015
Сообщений: 6
1

Преобразовать массив: сначала расположить все элементы, модуль которых не превышает 4, а потом все остальные

09.03.2015, 18:51. Показов 982. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В одномерном массиве, состоящем из 15 вещественных элементов (значения элементов массива задайте случайными числами из интервала [-7, 10]), вычислите сумму положительных элементов массива. Преобразуйте массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 4, а потом — все остальные.
Помогите написать программу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2015, 18:51
Ответы с готовыми решениями:

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает единицу, а потом — все остальные
Здравствуйте. В сети подобных примеров не нашел. Преобразовать массив таким образом, чтобы...

Преобразовать массив, чтобы сначала располагались все элементы, модуль которых не превышает 1
Дали такую задачу. Я сколько не читал, так и не понял, чего именно от меня хотят. Помогите с...

Преобразовать массив: сначала расположить все элементы, целая часть которых не превышает 1, потом - остальные
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых...

Преобразовать массив, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом - остальные
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
09.03.2015, 19:18 2
Язык какой? Шарп? С++? Бейсик.NET?
0
Заблокирован
09.03.2015, 20:04 3
Flame44, т.к. вы ЯП не выбрали, то сделаю это за вас. Решение на F#:

Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let N = 15
let rand = new System.Random()
let arr = [|for x in 0..N -> rand.Next(-7,11)|]
printfn "%A" arr
 
let sortFunction (x:int) (y:int) = 
    if ((abs x) > 4 && (abs y)<=4) then 
        1
    else if ((abs x) <= 4 && (abs y)>4) then 
        -1
    else 
        0
 
Array.sortWith sortFunction arr 
|> printfn "After sorting: \n%A"
Код
[|6; 10; 0; -5; 6; 3; -4; 9; 9; 4; -2; -3; -4; -4; 7; -4|]
After sorting:
[|0; 3; -4; 4; -2; -3; -4; -4; -4; 6; 10; -5; 6; 9; 9; 7|]
Для продолжения нажмите любую клавишу . . .
На другие ЯП переписывается практически за пару минут.
1
3 / 0 / 1
Регистрация: 09.03.2015
Сообщений: 6
09.03.2015, 20:40  [ТС] 4
Извиняюсь что не указал ЯП. Мне нужно на visual studio.
0
Заблокирован
09.03.2015, 21:32 5
Flame44, смотрите, Visual Studio это среда разработки:
https://ru.wikipedia.org/wiki/... ual_Studio
В ней можно писать программы на нескольких языках (C#, VB. Net, F#, C++)
Раннее я приводил решение на F#, на C# будет выглядить следующий образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
            const int N = 15;
            Random rand = new System.Random();
            int[] arr = new int[N];
            for (int i = 0; i < N; i++)
            {
                arr[i] = rand.Next(-7, 11);
                Console.Write("{0,3}", arr[i]);
            }
            Array.Sort(arr, (x, y) =>
            {
                if (Math.Abs(x) > 4 && Math.Abs(y) <= 4) return 1;
                else if (Math.Abs(x) <= 4 && Math.Abs(y) > 4) return -1;
                return 0;
            });
            Console.WriteLine();
            Console.WriteLine("After sorting:");
            foreach (var x in arr)
                Console.Write("{0,3}", x);
            Console.WriteLine();
            Console.ReadKey(true);
Код
  2 -6  9  7  6  1  1 -1 -5  4 -5 -4 -5  7 10
After sorting:
  2  1  1 -1  4 -4 -6  9  7  6 -5 -5 -5  7 10
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.03.2015, 22:52 6
вот на плюсах..
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
#include <iostream>
#include <algorithm>
#include <numeric>
#include <random>
#include <vector>
#include <cstdlib>
 
int main(int argc, char *argv[])
{
    const int N = 15;
    
    std::vector<int> arr(N);
    
    std::mt19937 gen { std::random_device()() };
    std::uniform_int_distribution<> dist(-7, 10);
 
    std::generate(arr.begin(), arr.end(), [&]{ return dist(gen); });
    
    for(const int& n: arr)
        std::cout << n << ' ';
        
    std::cout << std::endl << "Sum: "
        << std::accumulate(arr.begin(), arr.end(), 0, [](int l, int r) {
            return l + (r > 0 ? r : 0);
        })
        << std::endl;
        
    std::cout << std::endl << "After sort: " << std::endl;
    
    std::sort(arr.begin(), arr.end(), [](int l, int r) { return abs(l) <= 4; });
    
    for(const int& n: arr)
        std::cout << n << ' ';
 
    std::cout << std::endl;
}
1
16.03.2015, 22:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2015, 22:52
Помогаю со студенческими работами здесь

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные
привет всем) никак не могу придумать влгоритм для куска задачи: преобразовать массив таким...

Преобразовать массив, чтобы сначала располагались элементы, модуль которых не превышает 5, а потом остальные
Помогите преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль...

Массив: Преобразовать массив так, чтобы сначала шли элементы, модуль которых не превышает 1, а потом - остальные...
Преобразовать массив таким образом, чтобы сначала располагались, все элементы, модуль которых не...

Упорядочить элементы массива, располагая сначала элементы, модуль которых не превышает 5, а потом – все остальные
Составить программу, формирующую одномерный массив, состоящий из N целых элементов. Вычислить сумму...

Преобразовать массив, расположив в начале элементы, целая часть которых не превышает 1, а потом все остальные
Ребята, выручайте очень нужно. 1.Найти количество положительных элементов массива. 2.Найти сумму...

В начале массива расположить все элементы, модуль которых не превышает 1, а после них - все остальные
Ребят, помогите, пожалуйста! Нужно написать программу в С++ для решения задачи: Превратите...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru