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

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

Войти
Регистрация
Восстановить пароль
 
Настя))
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 8
#1

Одномерный массив - C++

26.12.2010, 14:18. Просмотров 319. Ответов 3
Метки нет (Все метки)

Дан массив n целых чисел. Если исходный массив упорядочен по возрастанию, то создать новый массив, записав в него все элементы исходного массива по убыванию. Надо написать эту задачу в статике и в динамике, у кого нибудь есть хоть какие-то мысли относительно решения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 14:18     Одномерный массив
Посмотрите здесь:

Одномерный массив - C++
Помогите плиз!!:cry: Дан одномерный массив n целых эл-ов(конкретно=20)...Нужно: 1)Найти произведение эл-ов массива с четными номерами ...

Одномерный массив - C++
Сформировать одномерный массив из суммы отрицательных кратных 7, элементов кратной строки массива а(10,5).

Одномерный массив - C++
Помогите пожалуйста с задачей: В одномерном массиве Х, состоящем из N вещественных элементов, вычислить: a) количество элементов,...

одномерный массив - C++
Дан одномерный массив из n элементов,определите сумму первых B элементов и последних C элементов, если сумма 1ых будет больше суммы...

Одномерный массив - C++
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива....

Одномерный массив - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: - самую длинную подпоследовательность элементов массива, которая...

Одномерный массив - C++
Напишите простенький одномерный массив) и можно сразу из одномерного двухмерный сделать...

одномерный массив - C++
в одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных последнего элемента равного нулю

Массив одномерный - C++
/*размерность массива - 30 диапазон значений (-20,20) определить какое абсолютное значение встречается в массиве чаще остальных*/ ...

одномерный массив[0..n...n+m]. - C++
Уважаемые программисты помогите разобраться с задачей: "В одномерном целочисленном массиве x…x, рассматриваемом как соединение двух его...

Одномерный массив - C++
В заданном одномерном массиве F(N) (N<=50) вычислить разность между суммой элементов, стоящих на четных местах, и суммой элементов, стоящих...

Одномерный массив - C++
Помогите плз решить задачку... В стиле с++ В одноменом массиве, состоящем из N вещественных элементов, вычислить: 1) Сумму...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
26.12.2010, 15:13     Одномерный массив #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
62
63
64
65
66
67
68
#include <stdio.h>
#include <stdlib.h>
 
void reverse_copy(int * dst, int * src, size_t cnt){
    int * ptr = src + cnt;
    while ( ptr > src )
        *dst++ = *--ptr;
}
 
void dump(int * arr, size_t cnt){
    while ( cnt-- )
        printf("%d%c", *arr++, ( cnt ) ? ' ' : '\n');
}
 
int test_ascendant(int * arr, size_t cnt){
    return ( cnt < 2 ) ? 0 : ( *arr >= *(arr + 1) ) ? -1 : test_ascendant(arr + 1, cnt - 1);
}
 
#define SIZE 5
 
int main(void){
    int statA[SIZE], statB[SIZE], * dinA, * dinB, i;
    
    printf("Static array input:\n");
    for ( i = 0; i < SIZE; ++i ){
        printf("ARRAY[%d] = ", i);
        scanf("%d", &statA[i]);
    }
    
    if ( test_ascendant(statA, SIZE) )
        printf("Array is'nt sorted ascendant!\n");
    else {
        reverse_copy(statB, statA, SIZE);
        printf("ASC:  ");
        dump(statA, SIZE);
        printf("DESC: ");
        dump(statB, SIZE);
    }
    
    printf("\n\nDinamyc array input:\n");
    if ( ( dinA = (int*)malloc(sizeof(int) * SIZE) ) == NULL ){
        perror("malloc");
        exit(1);
    }
    for ( i = 0; i < SIZE; ++i ){
        printf("ARRAY[%d] = ", i);
        scanf("%d", &dinA[i]);
    }
    
    if ( test_ascendant(dinA, SIZE) )
        printf("Array is'nt sorted ascendant!\n");
    else {
        if ( ( dinB = (int*)malloc(sizeof(int) * SIZE) ) == NULL ){
            perror("malloc");
            free(dinA);
            exit(1);
        }
        reverse_copy(dinB, dinA, SIZE);
        printf("ASC:  ");
        dump(dinA, SIZE);
        printf("DESC: ");
        dump(dinB, SIZE);
        free(dinB);
    }
    free(dinA);
    
    exit(0);
}
abyr
4 / 4 / 1
Регистрация: 23.12.2010
Сообщений: 27
26.12.2010, 15:48     Одномерный массив #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
#include <cstdlib>
#include <iostream>
using namespace std;
 
int main(int argc, char** argv) {
    const int n = 10;
    int a[n] = {-31, -22, -13, -4, 51, 61, 71, 81, 91, 110}, b[n], x = 0, j = 0;
    cout << "\nИсходный массив - ";
    for ( int i = 0; i < n; i++ ) cout << a[i] << " ";
    cout << "\n\n";
    for ( int i = 0; i < n; i++ ) {
        if (a[i] > a[i+1]) x += 1;
    }
    if ( x != 0 ) cout << "Ошибка! Исходный массив не упорядочен по возрастанию";
    else {
        cout << "Полученный массив - ";
        for ( int i = n-1; i >= 0; i-- ) {
            b[j] = a[i];
            cout << b[j] << " ";
            j++;
        }
    }
    cout << "\n\n";
    return 0;
}
в статике
Настя))
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 8
26.12.2010, 16:00  [ТС]     Одномерный массив #4
Спасибо)))=***
Yandex
Объявления
26.12.2010, 16:00     Одномерный массив
Ответ Создать тему
Опции темы

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