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

Определить произведение в тех строках матрицы, которые содержат хотя бы один отрицательный элемент

15.02.2017, 16:41. Просмотров 327. Ответов 6
Метки нет (Все метки)

Задание: Дан целочисленный прямоугольный массив. Определить произведение в тех строках, которые содержат хотя бы 1 отрицательный элемент. Я сделала, где нет ни одного отрицательного элемента, а как сделать наоборот. Если не сложно, помогите, пожалуйста.

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 <conio.h>
#include <math.h>
#include <Windows.h>
#include <process.h>
#include <locale.h>
 
void giveResults(int **arr, int n, int m);
void checkArrMemCallocMalloc(int*** arr, int n, int m);
void checkArrMemNew(int*** arr, int n, int m);
 
void fillArray(int*** arr, int n, int m);
void freeMemory(int*** arr, int n);
void getAndCheckArrrayParameters(int* n, int *m);
 
void main (void) {
    setlocale(LC_ALL, "Russian");
    int n, m;
    int **arr;
 
    getAndCheckArrrayParameters(&n, &m);
 
    if (n == m) {
        printf_s("Ваш массив не прямоугольный, ширина не должна быть = высоте!\n");
        _getch();
        return;
    }
    
    checkArrMemCallocMalloc(&arr, n, m);
    fillArray(&arr, n, m);  
    giveResults(arr, n, m);
    freeMemory(&arr, n);
}
 
void giveResults(int **arr, int n, int m) {
    int flag2 = 0;
    
    for (int i = 0; i < n; i++) {
        int flag = 0;
        int mul = 1;
 
        for (int j = 0; j < m; j++) {
            if (*(*(arr + i) + j) < 0) {
                flag += 1;
            }
            mul *= (*(*(arr + i) + j));
        }
        if (flag == 0) {
            printf_s("В строке %d нет отрицательных элементов\n", i);
            printf_s("The multiple of it's elements = %d\n\n", mul);
            flag2++;
        }
    }
    if (flag2 == 0) {
        printf_s("Все строки содержат отрицательные элементы!\n");
    }
}
 
void checkArrMemCallocMalloc(int*** arr, int n, int m) {
    if (!(*arr = (int**)calloc(n, sizeof(int*)))) {
        puts("Недостаточно памяти");
        _getch();
        return;
    }
 
    for (int i = 0; i < n; i++){
        if (!(*(*arr + i) = (int*)malloc(m*sizeof(int)))) {
            puts("Недостаточно памяти");
            _getch();
            return;
        }
    }
}
 
 
void fillArray(int*** arr, int n, int m){
    for (int i = 0; i < n; i++) {
        printf_s("Введите %d строку:\n", i);
        for (int j = 0; j < m; j++) {
            printf_s("A[%d]=", j);
            scanf_s("%d", *(*arr + i) + j);
        }
    }
}
 
void freeMemory(int*** arr, int n) {
    printf_s("Освобождение памяти!\n");
    for (int i = 0; i < n; i++) {
        delete[] * (*arr + i);
    }
    delete[] *arr;
 
    if (*arr == NULL) {
        puts("Массив удален!");
    }
}
 
void getAndCheckArrrayParameters(int* n, int *m) {
    puts("Введите параметры массива: высота и ширина разделены пробелами");
    scanf_s("%d%d", n, m);
 
    if ((&n <= 0) || (&m <= 0)) {
        printf_s("Параметры массива должны быть положительными\n");
        _getch();
        return;
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2017, 16:41
Ответы с готовыми решениями:

Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #define N 4 #define M 3 int main() { int...

Подсчитать сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент
Дана целочисленная прямоугольная матрица Определить: 1) сумму элементов в тех строках, которые...

Сумму элементов матрицы в тех строках, которые имеют хотя бы один отрицательный элемент
Прошу помогите с дз. Не знаю как сделать!Буду очень благодарен Данная целочисленных...

Найти сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент
1)Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных...

Определить количество положительных элементов в тех строках, которые содержат хотя бы один нулевой элемент
Дан массив (nxn).Определить количество положительных элементов в тех строках, которые содержат хотя...

6
Байт
Эксперт C
20752 / 13224 / 2789
Регистрация: 24.12.2010
Сообщений: 27,840
15.02.2017, 17:13 2
Главные ошибки
- неправильно задан вопрос
- отвратительное оформление
0
natalia776
0 / 0 / 0
Регистрация: 25.01.2017
Сообщений: 13
15.02.2017, 18:27  [ТС] 3
вопрос я формулировала не сама, он дан преподавателем. а по поводу оформления в чем проблема??
0
LFC
731 / 536 / 416
Регистрация: 17.09.2015
Сообщений: 1,598
15.02.2017, 18:31 4
Цитата Сообщение от natalia776 Посмотреть сообщение
Я сделала, где нет ни одного отрицательного элемента
если б это действительно вы сделали у вас бы не возник вопрос
Цитата Сообщение от natalia776 Посмотреть сообщение
а как сделать наоборот.
0
Байт
Эксперт C
20752 / 13224 / 2789
Регистрация: 24.12.2010
Сообщений: 27,840
15.02.2017, 18:41 5
Цитата Сообщение от natalia776 Посмотреть сообщение
по поводу оформления в чем проблема??
Необходимо код заключать в теги. Вам уже не раз делали замечание по этому поводу. Добренький volvo на этот раз сделал это за вас. Но вы сами не в силах этого сделать?
Также был заменен заголовок поста. Вы помните, как он звучал? Напоминаю. "В чем ошибка" Так вот, такая постановка вопроса совершенно безграмотна и бессмыслена. Вы, как минимум, должны сказать, в чем, на каком этапе разработки программы эта ошибка проявляется.

Добавлено через 3 минуты
Вообще, начальное содержание вашего поста было изменено до неузнаваемости. Так что сейчас правоту и не правоту каждого из нас доказать невозможно.
Однако, я вам настоятельно советую прислушаться к замечаниям. Хотя бы на будущее.
0
natalia776
0 / 0 / 0
Регистрация: 25.01.2017
Сообщений: 13
15.02.2017, 19:22  [ТС] 6
Спасибо. Ваши замечания я постараюсь учесть. Но вот Ваши нравоучения вряд ли помогут и мне, и кому-то другому, кто делает подобное задание. Так что в следующий раз прошу Вас оставить мои темы без Ваших комментов. Это форум не только для специалистов Вашего уровня, но и таких как я, которые только начинают изучать программирование. И если Вы, как настоящий мужчина не способны помочь девушке в решении задачи, просто проходите мимо. Спасибо.
0
Байт
15.02.2017, 21:09     Определить произведение в тех строках матрицы, которые содержат хотя бы один отрицательный элемент
  #7

Не по теме:

Цитата Сообщение от natalia776 Посмотреть сообщение
просто проходите мимо.
Лады:)

0
15.02.2017, 21:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2017, 21:09
Привет! Вот еще темы с ответами:

Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один ноль
Дана целочисленная прямоугольная матрица. Определить: 1) количество отрицательных элементов в тех...

Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент
Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент...

Определить произведение элементов в тех строках матрицы, которые не содержат нулевых элементов
Дана вещественная прямоугольная матрица. Определить произведение элементов в тех строках, которые...


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

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

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