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

Динамическое выделение памяти под двумерный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считывание массива строк http://www.cyberforum.ru/cpp-beginners/thread527248.html
Добрый вечер! Я не научилась нормально программировать, опыта еще нет, ну это не важно. В общем у меня такая проблема - как можно нормально считать строки? Их порядка 60, считывать из файла, в...
C++ в одномерном массиве А состоящем из N элементов найти максимальные элементы и все элементы равные максимальному заменить на 0. в одномерном массиве А состоящем из N элементов найти максимальные элементы и все элементы равные максимальному заменить на 0. http://www.cyberforum.ru/cpp-beginners/thread527243.html
C++ Работа с элементами над/под побочной диагональю
Доброго времени суток. Имеется задание: Дана квадратная вещественная матрица. Определить отдельно сумму S1 элементов, расположенных выше побочной диагонали, и сумму S2 элементов, расположенных...
Перекодировщик C++
Есть четыре среды: 1) среда 1251 2) среда 866 3) KOI-8 4) UTF-8 Запускаем программу, и она должна открыть запрашиваемый файл, перекодировать на одну из выбранных кодировок и вывести это в...
C++ В двумерной матрице найти минимальные элементы каждой строки и переставить на первое место http://www.cyberforum.ru/cpp-beginners/thread527232.html
В двумерной матрице состоящей из N на M элементов, найти min элементы каждой строки и min переставить на первое место
C++ Слияние двух массивов, решение с помощью указателей помогите,пожалуйста,решить! Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала располагались все элементы массива A,... подробнее

Показать сообщение отдельно
Jaxmackey
3 / 3 / 1
Регистрация: 04.10.2013
Сообщений: 142
17.08.2016, 09:54
Рассмотрен массив с квадратной матрицей

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
#include <stdio.h>
#include <malloc.h>
#include <windows.h>
 
char* Rus(const char*);
void main(void);
 
char bufRus[256];
 
void main(void)
{
    int **parray;
    int size;
    printf(Rus("введите размерность матрицы: "));
    scanf_s("%d", &size);
    parray = (int**)calloc(size, sizeof(int));
    for (int x = 0; x < size; x++)
    {
        parray[x] = (int*)calloc(size, sizeof(int)); 
    }
    int i = 0;
    int j = 0;
    for (i = 0; i < size; i++)
    {
        for (j = 0; j < size; j++)
        {
            printf("array[%d] [%d] = ", i, j);
            scanf_s("%d", &parray[i][j]);
        }
    }
    for (int q = 0; q < size; q++)
    {
        for (int z = 0; z < size; z++)
        {
            printf("%8d", parray[q][z]);
            if ((z + 1) % size == 0)
                printf("\n");
 
        }
    }
    int t = 1;
    int sum = 0;
    for (int w = 0; w < size; w++)
    {
        for (int e = t; e < size; e++)
        {
            if (parray[w][e]>0)
            {
                sum += parray[w][e];
            }
        }
        t++;
    }
    printf(Rus("Сумма не отрицательных элементов выще главной диагонали равна %d\n"), sum);
 
}
 
char* Rus(const char* text)
{
    CharToOemA(text, bufRus);
    return bufRus;
}

Либо так
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 <stdio.h>
#include <malloc.h>
#include <windows.h>
 
char* Rus(const char*);
void main(void);
 
char bufRus[256];
 
void main(void)
{
    int *parray;
    int size;
    printf(Rus("введите размерность матрицы: "));
    scanf_s("%d", &size);
    parray = (int*)calloc(size, sizeof(int));
    int sum = 0;
    parray = (int*)realloc(parray, size*size*sizeof(int));
    for (int i = 0; i < size; i++)
    {
        for (int s = 0; s < size; s++)
        {
            printf("[%d] [%d] = ", i, s);
            scanf("%d", parray + i + s);
        }
    }
    for (int i = 0; i < size; i++)
    {
        for (int s = 0; s < size; s++)
        {
            printf("%8d", *(parray + i + s));
            if ((s + 1) % size == 0)
                printf("\n");
        }
    }
    int t = 1;
    for (int i = 0; i < size; i++)
    {
        for (int s = t; s < size; s++)
        {
            if (*(parray + i + s) > 0)
            {
                sum += *(parray + i + s);
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru