3 / 3 / 1
Регистрация: 11.10.2014
Сообщений: 148
1

Получить две новые матрицы С и D, такие, что в С будут элементы матриц А и В, которые больше заданного числа

09.04.2015, 21:26. Показов 487. Ответов 6
Метки нет (Все метки)

Даны две матрицы - А и B. C клавиатуры вводится число P.
Мы должны получить две новые матрицы С и D, такие, что в С будут элементы матриц А и В, которые больше заданного числа Р. А в матрице D будут все отрицательные элементы матриц А и B.


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
#include <stdio.h>
int main() {
int a[3][3];
int b[3][3];
int c[3][3];
int d[3][3];
int p;
int j,i,k,k1,g,g1;
 
for (i = 0; i < 3; i = i + 1) {                              // ввод массива А
    for (j = 0; j < 3; j = j + 1) {
       a[i][j]=-20 + random(41);
    }
}
for (i = 0; i < 3; i = i + 1) {                         // вывод массива А
        printf("\n");
    for (j = 0; j < 3; j = j + 1) {
        printf("%d\t",a[i][j]);
    }
}
for (i = 0; i < 3; i = i + 1) {                              // ввод массива В
    for (j = 0; j < 3; j = j + 1) {
     b[i][j]=-20 + random(41);
    }
}
for (i = 0; i < 3; i = i + 1) {                         // вывод массива В
        printf("\n");
    for (j = 0; j < 3; j = j + 1) {
        printf("%d\t",b[i][j]);
    }
}
for (i = 0; i < 3; i = i + 1) {                             
    for (j = 0; j < 3; j = j + 1) {                        // условие для вывода матрицы С - где k-новый счетчик
if (a[i][j]>p) {c[i][j]==a[i][j]; k++;}
}
}
for (i = 0; i < 3; i = i + 1) {                              
    for (j = 0; j < 3; j = j + 1) {
if (b[i][j]>p) {c[i][j]==b[i][j]; k1++;}
}
}
 
for (i = 0; i < (k1+k); i = i + 1) {                         // вывод массива C, где k1+k - новая размерность
        printf("\n");
    for (j = 0; j < (k1+k); j = j + 1) {
        printf("%d\t",c[i][j]);
    }
}
}
После запуска программа вылетает. Подскажите, почему?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2015, 21:26
Ответы с готовыми решениями:

Поменять элементы матрицы, которые больше заданного значения А, на 0
Задана матрица целых чисел, компонентами которой могут быть и нули. Сделать контрольный вывод...

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

В заданном целочисленном массиве изъять элементы, которые встречаются больше заданного числа
В заданном целочисленном массиве изъять элементы, которые встречаются больше заданного числа....

Найти такие числа, которые при сложении будут равны 80
Дано массив из 10 чисел... 20, 34, 21, 22, 31, 23, 20, 21, 25, 27...Найти такие числа, которые при...

6
1 / 1 / 3
Регистрация: 08.04.2015
Сообщений: 28
09.04.2015, 21:35 2
Скорее всего выход на границу массива в конце.
C
1
2
3
4
5
6
for (i = 0; i < (k1+k); i = i + 1) {                         // вывод массива C, где k1+k - новая размерность
        printf("\n");
    for (j = 0; j < (k1+k); j = j + 1) {
        printf("%d\t",c[i][j]);
    }
}
0
3 / 3 / 1
Регистрация: 11.10.2014
Сообщений: 148
09.04.2015, 21:53  [ТС] 3
Как можно исправить?
0
1 / 1 / 3
Регистрация: 08.04.2015
Сообщений: 28
09.04.2015, 21:55 4
Массив С у вас 3x3, значит и в цикле нужно так указать.
C
1
2
3
4
5
6
for (i = 0; i < 3; i = i + 1) {                         // вывод массива C, где k1+k - новая размерность
        printf("\n");
    for (j = 0; j < 3; j = j + 1) {
        printf("%d\t",c[i][j]);
    }
}
0
3 / 3 / 1
Регистрация: 11.10.2014
Сообщений: 148
09.04.2015, 22:05  [ТС] 5
Так у нас матрица С состоит из элементов из двух матриц А и В, которые больше числа Р.
Там же не обязательно будет размерность 3 на 3. Может и 4 на 4 быть, и меньше, и больше.
0
1 / 1 / 3
Регистрация: 08.04.2015
Сообщений: 28
09.04.2015, 22:08 6
Значит матрица С задана неправильно изначально, попробуйте увеличить размерность. Если код правильно написан - будет работать.
0
3 / 3 / 1
Регистрация: 11.10.2014
Сообщений: 148
10.04.2015, 21:26  [ТС] 7
Выдает просто нули.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2015, 21:26
Помогаю со студенческими работами здесь

В одномерном массиве из 10 вещественных чисел заменить все элементы, которые больше заданного числа х
Помогите решить на С++ пожалуйста 1. В одномерном массиве из 10 вещественных чисел заменить все...

Найти элементы в каждом столбце матрицы, которые больше числа А и меньшие числа С
3 Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньшие числа С....

Найти в каждом столбце матрицы G элементы, которые больше числа А и меньше числа С
Привет. Помогите написать программку Найти элементы в каждом столбце матрицы G размером 7х4,...

Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С
Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С....

Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С
Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С....

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


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

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

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