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

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

Войти
Регистрация
Восстановить пароль
 
stealth.Delux
1 / 1 / 0
Регистрация: 30.10.2010
Сообщений: 10
#1

Динамический массив - C++

02.12.2010, 22:17. Просмотров 459. Ответов 3
Метки нет (Все метки)

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

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Заполнить динамический массив из файла и записать массив обратно в файл - C++
Подскажите пожалуйста функцию которая будет заполнять Динамический массив из файла и обратную которая этот массив запишет в файл=)

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

динамический массив (Целое число разложить на массив простых множителей) - C++
Доброго времени суток всем. Целое число необходимо разложить на массив простых множителей. Столкнулся с проблемой, мне нужно, чтобы...

Массив: передать динамический массив в функцию и записать в каждый элемент строку из файла - C++
задача: передать динамический массив в функцию, и записать в каждый элемент строку из файла. количество строк известно вот что у меня...

Как преобразовать массив в динамический? Массив вычисляет сумму элементов каждой диагонали матрицы - C++
Ошибка : Вызвано исключение по адресу 0x00BB2F4F в Проект6.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE05. #...

3
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
02.12.2010, 22:58 #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
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
#include <stdio.h>
#include <malloc.h>
#include <math.h>
 
void _sort(int *Arr, int N)
{
    for(int i = N - 1; i >= 1; --i)
    {
        for(int j = 0; j < i; ++j)
        {
            if(Arr[j] > Arr[j+1])
               {
                   int temp = Arr[j];
                   Arr[j] = Arr[j+1];
                   Arr[j+1] = temp;
               }
        }
    }
}
 
int main(void)
{
    int N, *Arr, cnt = 0, index = 0, sum = 0;
    printf("Enter N: \n-> ");
    scanf("%d", &N);
    Arr = (int*)malloc(N*sizeof(int));
 
    printf("Enter elements of array: \n");
    for(int i = 0; i < N; ++i)
    {
        printf("%d -> ", i);
        scanf("%d", &Arr[i]);
    }
 
    for(int i = 0; i < N; ++i)
    {
        if(Arr[i] < 0)
            ++cnt;
        else if(Arr[index] > abs(Arr[i]))
            index = i;
    }
 
    for(int i = index+1; i < N; ++i)
        sum += abs(Arr[i]);
 
    for(int i = 0; i < N; ++i)
        if(Arr[i] < 0)
            Arr[i] = pow(Arr[i], 2.0);
 
    _sort(Arr, N);
 
    printf("Koluchectvo otrucatelnux elementov: %d\n", cnt);
    printf("Suma po modyly pocle min po modyly elementa: %d\n", sum);
    printf("Array: ");
 
    for(int i = 0; i < N; ++i)
        printf("%d ", Arr[i]);
 
    free(Arr);
    return 0;
}
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.12.2010, 23:20 #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
#include <iostream>
#include <cmath>
#include <numeric>
#include <algorithm>
#include <functional>
#include <iterator>
 
bool min_comp(int first, int second)
{
    return abs(first) < abs(second);
}
 
int abs_sum(int first, int second)
{
    return abs(first)+abs(second);
}
 
int main()
{
    int* Arr;
    int n;
    std::cout<<"Enter n: ";
    std::cin>>n;
    Arr=new int[n];
    for(int i=0; i<n; ++i)
        std::cin>>Arr[i];
    int cnt=std::count_if(Arr, Arr+n, std::bind2nd(std::less<int>(), 0));
    int* p=std::min_element(Arr, Arr+n, min_comp);
    int sum=std::accumulate(p, Arr+n, 0, abs_sum);
    std::cout<<"Numb of negative elements: "<< cnt <<'\n';
        std::cout<<"Min abs element is: "<< abs(*p) <<'\n';
    for(int i=0; i<n; ++i)
    {
        if(Arr[i] < 0)
            Arr[i]*=Arr[i];
    }
    std::cout<<"Sum of abs values after min is: "<< sum <<'\n';
    std::cout<<"Transformed array\n";
    std::copy(Arr, Arr+n, std::ostream_iterator<int>(std::cout, " "));
    std::cout<<'\n';
    delete[] Arr;
    return 0;
}
1
stealth.Delux
1 / 1 / 0
Регистрация: 30.10.2010
Сообщений: 10
03.12.2010, 22:26  [ТС] #4
asics, ForEveR большое вам спасибо!
0
03.12.2010, 22:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2010, 22:26
Привет! Вот еще темы с ответами:

Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) - C++
Создать динамический массив из 8 случайных целых чисел из отрезка и вывести его на экран . Если в массиве чётных чисел оказалось...

Двумерный массив (поменять статический массив на динамический) - C++
Нужно поменять статический массив на динамический с выделением памяти #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; ...

Массив и память. Как создать динамический массив? - C++
не могу исправить ошибки. И нужен динамический массив я что-то попробовала для его создания но ничего не вышло #include &quot;stdafx.h&quot; ...

Переделать динамический массив на статический массив - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main() { int dim, counter_1 = 1, counter_2 =...


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

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

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