Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Сократить все строки текстового файла, оставив из фамилии/имени/отчества только фамилию и инициалы http://www.cyberforum.ru/c-beginners/thread2268676.html
В каждой строке текстового файла имя которого вводится из клавиатуры записана фамилия имя и отчество одного студента. Сократить все строки оставив только фамилия и инициалы
C (СИ) Сравнение лексем Подскажите, пожалуйста, как на Си написать функцию, которая выводит сколько раз каждое слово встречалось в строке (слова-наборы символов, разделенных одним или несколькими пробелами)? http://www.cyberforum.ru/c-beginners/thread2268670.html
C (СИ) Изменение максимального количества элементов массива
Здравствуйте! Написал программу, в которой пользователь вводит с клавиатуры число (переменная koll), дальше создаётся двумерный массив типа float с количеством строк и количеством столбцов. Дальше...
Замена пробелов на табы C (СИ)
Написать программу, заменяющую подряд идущие пробелы табами. Программа компилится, но когда я ее запускаю она выводет сообщение о дампе ядра. //Программа заменяет пробелы на табуляцию. #include...
C (СИ) Сортировка по алфавиту (запись и чтения строк из файла на диске D) http://www.cyberforum.ru/c-beginners/thread2268518.html
Не получается сортировка по алфавиту (запись и чтения строк из файла на диске D). Для книг, хранящихся в библиотеке, задаются регистрационный номер книги, автор, название,год издания, издательство,...
C (СИ) Сортировка простым выбором можете помочь,в чём ошибка? сортировка методом простого выбора - по алгоритму(на си) Код: #include <stdio.h> #include <limits.h> #define N 10 void main () { int a={1,3,5,9,3,2,4,2,3,9}; подробнее
stake-k26
618 / 432 / 332
Регистрация: 25.04.2016
Сообщений: 1,218
25.06.2018, 02:49 0

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

25.06.2018, 02:49. Просмотров 709. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено 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

Созданть структуры для сохранения информации динамической матрицы
прошу помочь срочно --&gt; Созданть структуры для сохранения информации динамической матрицы (C++) ...

Проверить корректность двух способов выделения динамической памяти
Решил задачку на динамическое выделение памяти, двумя способами. Так вот сам вопрос: подскажите,...

Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной типа int
Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной...

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