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

Из положительных элементов матриц А и С сформировать векторы Х и Т соответственно

08.10.2016, 22:37. Просмотров 820. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Дано задание :"Из положительных элементов матриц А и С сформировать векторы Х и Т, соответственно." Задание нужно выполнить с помощью подпрограмм в чистом си. Не могу понять каким образом реализуется формирование векторов в си , подскажите пожалуйста.
Код ввода и вывода матриц:
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
#include <stdlib.h>
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "iostream"
 
int **zad3_1(int n, int m, int **mas)// 3.1
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            printf("Введите элемент [%d,%d]", i + 1, j + 1);
            scanf("%d", &mas[i][j]);
        }
    }
    return mas;
}
 
 
void zad3_2(int n, int m, int **mas)
{
    for (int i = 0; i < n; i++)
    {
        printf("|");
        for (int j = 0; j < m; j++)
        {
            printf("%3d ", mas[i][j]);
        }
        puts("|");
    }
}
int main()
{
    setlocale(LC_ALL, "Russian");
    int n_a, n_c,m_a,m_c;
    puts("Введите n для матрицы A");
    scanf("%d", &n_a);
    puts("Введите m для матрицы A");
    scanf("%d", &m_a);
    puts("Введите n для матрицы C");
    scanf("%d", &n_c);
    puts("Введите m для матрицы C");
    scanf("%d", &m_c);
    
    int **a = new int*[n_a];
    int **c = new int*[n_c];
    
    for (int i = 0; i < n_a; i++)
    {
        a[i] = new int[n_a];
    }
    for (int i = 0; i < n_c; i++)
    {
        c[i] = new int[n_c];
    }
    puts("Введите матрицу A:");
    a = zad3_1(n_a,m_a,a);
    puts("Введите матрицу C:");
    c = zad3_1(n_c,m_c,c);
    puts("\nМатрица A:\n");
    zad3_2(n_a,m_a,a);
    puts("\nМатрица C:\n");
    zad3_2(n_c,m_c,c);
 
    
    getch();
    fflush(stdin);
    system("cls");
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2016, 22:37
Ответы с готовыми решениями:

Найти min из чисел, каждое из которых является произведением всех элементов матриц А, В и D, соответственно
В общем, нужно сделать с использованием функций Я явно где-то накосячил, потому что выводит только...

Вычислить b a где, b a количество положительных и отрицательных элементов массива Z (5) соответственно
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #define n 5 int main(void) { int a=0,b=0,i,mas; int *pmas...

Из элементов главной диагонали матриц А и В сформировать векторы Х и Т, соответственно
Из элементов главной диагонали матриц А и В сформировать векторы Х и Т, соответственно.

Из отрицательных и положительных элементов матрицы сформировать два массива соответственно
Имеется двухмерный массив.Создать из него два одномерных массива,в одном из которых расположены...

Найти минимальное из трех чисел X, Y, Z, которые равны сумме элементов не главной диагонали матриц А, В, С соответственно
Заданы три матрицы А(М,М), B(N,N), С(М,М). Найти минимальное из трех чисел X, Y, Z, которые равны...

4
supinf
9 / 9 / 6
Регистрация: 04.10.2016
Сообщений: 37
08.10.2016, 23:32 2
C
1
#include <stdlib.h>
C++
1
#include "iostream"
C++
1
a[i] = new int[n_a];
Часть вашего кода написана на C++, а часть — на C. Не находите ли это странным?
1
Jetronik
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 5
09.10.2016, 00:53  [ТС] 3
supinf, копировал участки кода из нескольких программ, вот и получалась смесь, думаю это не смертельно, просто меня учили на чистом си и поэтому он мне более понятен. Но это сути вопроса не меняет, может что подскажете по делу?
0
supinf
9 / 9 / 6
Регистрация: 04.10.2016
Сообщений: 37
09.10.2016, 01:38 4
Лучший ответ Сообщение было отмечено Jetronik как решение

Решение

Цитата Сообщение от Jetronik Посмотреть сообщение
просто меня учили на чистом си и поэтому он мне более понятен.
Тогда и отправляйте сюда ваши программы на чистом C, а не абы что...
Цитата Сообщение от Jetronik Посмотреть сообщение
Но это сути вопроса не меняет, может что подскажете по делу?
Создать одномерный динамический массив (вектор) такого же размера, как и матрица (оператор new — аналог для создания динамического массива в C++):
C
1
2
3
#include <stdlib.h>
...
int *array = (int*) malloc(n * m * sizeof(int));
Затем организовать перебор матрицы двумя вложенными циклами for, последовательно записывая элементы матрицы в одномерный массив, для которого будет использоваться отдельный итератор.
1
LFC
730 / 535 / 416
Регистрация: 17.09.2015
Сообщений: 1,598
09.10.2016, 07:26 5
Цитата Сообщение от Jetronik Посмотреть сообщение
вот и получалась смесь, думаю это не смертельно
у вас уже уровень джедая,смело можете новые языки создавать!
0
09.10.2016, 07:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2016, 07:26

Сформировать новый массив, состоящий из элементов, равных соответственно суммам исходных массивов
помогите пожалуйста решить задачу даны три массива VEC 1=(1.0; 3.9; -2.6) VEC 2= (-7; 4.6;...

Из списка из 6 элементов сформировать два массива, которые заполнить соответственно элементами: положительными и отрицат
помогите решить

Построить матрицу P, строками которой соответственно являются векторы A, B, C, D
Помогите кто может пожалуйста... Даны векторы A={a1, a2, a3, а4}, B={b1, b2, b3, b4}, C={c1, c2,...


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

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

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