Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
anastunia1808
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 4
1

В динамической памяти выделить место для сохранения двух массивов действительных чисел

24.06.2018, 18:14. Просмотров 693. Ответов 1
Метки нет (Все метки)

В динамической памяти выделить место для сохранения двух массивов действительных числл заданной размерности. С клавиатуры ввести элементы этих массивов, каждый из которых впорядеований по убыванию значений. Сформировать из введенных массивов один общий отсортированный по убыванию массив и напечатать его.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2018, 18:14
Ответы с готовыми решениями:

Добавление динамической памяти к уже созданному массиву чисел
Доброго времени суток, уважаемые! Т.к. в чистом Си никогда не работал, пришел за помощью к вам. ...

Вычислить скалярное произведение двух векторов действительных чисел
Вычислить скалярное произведение двух векторов действительных чисел, имеющих одинаковую...

Какие переменные типа CARS можно использовать для выделения динамической памяти?
Всем привет! Помогите плиз ответить на вопросы!( Вижу, что тут обсуждают в основном программы, но...

Выделение динамической памяти для двумерного массива с посдедующим изменением его размера
Имеется вопрос по поводу реализации. Как это сделать без циклов и многомерных указателей, если это...

Реализовать фунцию для выделения блока свободной динамической памяти (кучи) заданного размера
4) Управления кучей. Реализовать фунцию для выделения блока свободной динамической памяти (кучи)...

1
stake-k26
541 / 413 / 324
Регистрация: 25.04.2016
Сообщений: 1,194
25.06.2018, 02:49 2
Лучший ответ Сообщение было отмечено anastunia1808 как решение

Решение

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <stdio.h>
#include <stdlib.h>
 
double ** create_arr2d (int, int);  // создаем double a[int][int]
void delete_arr2d (double **);      // освобождаем память, занятую a[int][int]
void fill_the_a2d (double **, int, int);    // заполняем массив с клавиатуры
void printf_arr2d (double **, int, int);    // выводим на экран
 
int main (void)
{
    // узнаем размеры массивов:
    int a, b, n, m;
    printf("First array:\n");
    printf("size1 = ");     scanf("%d", &n);
    printf("size2 = ");     scanf("%d", &m);
    printf("Second array:\n");
    printf("size1 = ");     scanf("%d", &a);
    printf("size2 = ");     scanf("%d", &b);
    // размеры не могут быть <= 0:
    if (n<1 || m<1 || a<1 || b<1) exit(EXIT_FAILURE);
 
    // создаем массивы:
    double ** x = NULL;
    if ((x = create_arr2d(n, m)) == NULL)
    {
        printf("Can't create array!\n");    // сообщаем об ошибке
        exit(EXIT_FAILURE);                 // выходим с кодом ошибки
    }
    double ** y = NULL;
    if ((y = create_arr2d(a, b)) == NULL)
    {
        printf("Can't create array!\n");
        delete_arr2d(x);        // освобождаем память, которую успели занять
        exit(EXIT_FAILURE);
    }
 
    // заполняем массивы значениями:
    printf("\nFill the first array:\n");
    fill_the_a2d(x,n,m);
    printf("\nFill the second array:\n");
    fill_the_a2d(y,a,b);
 
    // выводим на экран:
    printf("First array:\n");
    printf_arr2d(x, n, m);
    printf("Second array:\n");
    printf_arr2d(y, a, b);
 
    /* где-то здесь необходимо создать еще один массив, и заполнить его
     * отсортированными значениями, и вывести на экран. Алгоритмы для
     * создания и вывода на печать у вас уже есть, подумайте как сделать
     * сортировку. Успехов. :)
     * **************************************************************** */
 
    // освобождаем память, занятую массивами и выходим:
    delete_arr2d(x);
    delete_arr2d(y);
    /* где-то здесь необходимо освободить память, занятую третьим массивом */
    exit(EXIT_SUCCESS);
}
// ------------------------------------------------------------
// ----------------- создаем двумерный массив -----------------
double ** create_arr2d (int size1, int size2)
{
    int i;
    double ** z = NULL;
    if ((z = (double **) malloc(size1*sizeof(double *))) == NULL) return NULL;
    if ((z[0] = (double *) malloc(size1*size2 * sizeof(double))) == NULL)
    {
        free(z);
        return NULL;
    }
    for (i=1; i<size1; i++)
        z[i] = z[i-1] + size2;
    return z;
}
// ------------------------------------------------------------
// ------ освобождаем память, занятую двумерным массивом ------
void delete_arr2d (double ** a)
{
    free(a[0]);
    free(a);
}
// ------------------------------------------------------------
// --------- заполняем двумерный массив c клавиатуры ----------
void fill_the_a2d (double ** a, int size1, int size2)
{
    int i, k;
    for (i=0; i<size1; i++)
        for (k=0; k<size2; k++)
        {
            printf("arr[%d][%d] = ", i, k);
            scanf("%lf", &a[i][k]);
        }
}
// ------------------------------------------------------------
// ------------ выводим двумерный массив на экран -------------
void printf_arr2d (double ** a, int size1, int size2)
{
    int i, k;
    for (i=0; i<size1; i++)
    {
        for (k=0; k<size2; k++)
            printf("%6.2lf", a[i][k]);
        printf("\n");
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2018, 02:49

Сравнение двух массивов чисел в эксель
Приветствую всех. Нужна помощь с экселем. Есть два массива чисел, нужно найти и похожесть в...

Динамической памяти выделить место для сохранения двух массивов действительных чисел
В динамической памяти выделить место для сохранения двух массивов действительных числл заданной...

Написать шаблон функции для сортировки массивов действительных и целых чисел
Заданы элементы массива. Написать шаблон функции для сортировки массивов действительных и целых...


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

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

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