0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 7
1

Все нулевые элементы расположены ниже главной диагонали на нечетных строках и выше главной диагонали - на четных

15.01.2018, 13:29. Показов 2134. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Компилирую в dev c++, язык СИ, комплируется, но после ввода размерности массива, выдается ошибка "прекращена работа de.exe". В чем проблема может быть?

ТЕМА: все нулевые элементы расположены ниже главной диагонали на нечетных строках и выше главной диагонали - на четных

КОД
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
#include<stdio.h>
#include<locale.h>
#include<malloc.h>
#include<windows.h>
#include<time.h>
#include<conio.h>
#include<stdlib.h>
 
int main()
{
    int a,b;
    int i,j;
    setlocale(0, "");
    printf("Введите размерность матрицы: ");
    scanf("%d %d",&a,&b);
    int **M = (int **)malloc (a *sizeof(int));
    for ( i = 0; i < a; i++){
        int *M = (int *)malloc (b *sizeof(int));
    }
            
    //srand(time(NULL));
    srand(**M);
    int c = a > b ? b : a;
    for (i = 0; i < a; i++)
    {
        for (j = 0; j < b; j++)
        {
            
            if (i < j && (i < c && j < c) && i%2 == 0)
            {
                M[i][j] = 0;
                printf("%d  ", M[i][j]);                
            }
            else if (i > j && (i < c && j < c) && i%2 != 0)
            {
                M[i][j] = 0;
                printf("%d  ", M[i][j]);                
            }
            else
            {
                M[i][j] = rand()%100;
                printf("%d  ", M[i][j]);                
            }
        }
        printf("\n");
        
    }
    
    for (i = 0; i < a; i++)
        free (M[i]);
    free (M);
    
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2018, 13:29
Ответы с готовыми решениями:

Собрать все нулевые элементы матрицы выше главной диагонали
Дана матрица целых чисел. Собрать все нулевые элементы выше главной диагонали. 2 13 8 22 0 32 9...

Получить все нулевые элементы выше главной диагонали матрицы
Дана матрица целых чисел. Собрать все нулевые элементы выше главной диагонали (заполнение...

Заменить элементы ниже главной диагонали на элементы выше главной диагонали
Привет! Можете помочь в Си? Есть начало, но как именно менять может кто-то подсказать? Дана...

Дана матрица. Поменять местами максимальный элемент выше главной диагонали с минимальным элементом ниже главной диагонали
Что-то я сижу мучаюсь, мучаюсь... но не могу придумать как найди макс и мин элементы... подскажите...

2
190 / 150 / 61
Регистрация: 08.04.2010
Сообщений: 1,023
15.01.2018, 14:03 2
C
1
2
3
4
int **M=(int **)malloc (a *sizeof(int*));
    for (i = 0; i < a; i++){
        M[i]=(int *)malloc (b*sizeof(int));
    }
0
3892 / 2494 / 419
Регистрация: 09.09.2017
Сообщений: 10,957
15.01.2018, 14:58 3
Код
$ gcc main.c -Wall
main.c: In function ‘main’:
main.c:18:10: warning: unused variable ‘M’ [-Wunused-variable]
     int *M = (int *)malloc (b *sizeof(int));
Это ж надо было додуматься выделить локальную переменную внутри цикла, выделить ей память, а потом забыть про нее.
Ну и Dovgon правильно указал (просто лишний раз обращу внимание) что для внешнего массива надо выделять память под указатели, а не хранимый тип, то есть int* а не int.
0
15.01.2018, 14:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2018, 14:58
Помогаю со студенческими работами здесь

Создать двухмерный динамический массив, где все нулевые элементы размещены выше главной диагонали
Нужно создать двухмерный динамический массив, где все нулевые элементы размещены выше главной...

Реализация матрицы, содержащей нулевые элементы ниже главной диагонали
Есть программа реализации матрицы содержащей нулевые элементы ниже главной диагонали. Тексты...

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
В строчке int **matrix = malloc(sizeof(int*) * rows); выделяет функцию malloc, а в строчке matrix...

Найти сумму неотрицательных элементов матрицы выше побочной диагонали и ниже главной диагонали
Есть задание: Дана квадратная вещественная матрица размерности n. Найти сумму неотрицательных...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru