Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Не могу сообразить как посчитать... Здравствуйте! Задал значит нам преподаватель задачку. Вот её текст: В одномерном массиву, состоящем из N целочисленных четырехбайтовых элементов вычислить: • максимальный по модулю элемент; • сумму элементов массива, расположенных между первым и вторым положительными элементами; Примечание. Количество элементов задать в ходе работы программы. Ввод массива должен быть осуществлен с... https://www.cyberforum.ru/ c-beginners/ thread178698.html C (СИ) Найти произведение нечётных элементов боковой диагонали квадратной целочисленной матрицы А[10][10]
Люди добрые помогите чем можете =). вообщем нужно написать 5 кодов матриц на Си. Сам пока не допёр как это делать, ибо вникаю в while и do while. 1) найти произведение нечётных элементов боковой диагонали квадратной целочисленной матрицы А (do-while) 2) найти произведение негативных элементов боковой диагонали квадратной целочисленной матрицы А (for) 3) найти произведение позитивных...
C (СИ) Определить, лежат ли точки на одной прямой https://www.cyberforum.ru/ c-beginners/ thread178629.html
int main(void) { int x1, y1, x2, y2, x3, y3; int d1, d2, d3; printf("Введите координаты точки A:\n"); if(scanf("%d%d", &x1, &y1) !=2){ printf("Неверный ввод.\n"); return 0; }
C (СИ) Решение системы уравнений: написать функцию, которая как параметр будет использовать другую функцию https://www.cyberforum.ru/ c-beginners/ thread178555.html
Ребята помогите разобраться с указателем на функцию! у меня решается система ДУ методом Рунге_кутта. я хочу написать функцию, которая как параметр будет использовать другую функцию. Пытаюсь организовать все это с помощью указателей - пока не получается. double Speed(double Vk, double t, double teta, double y, double Wx, int rejim) double func_x(double Vk, double t, double teta, double...
Динамические массивы в Си C (СИ)
Помогите решить, пожалуйста Вычислить сумму элементов, принадлежащих промежутку и расположенных в столбцах с номерами, кратными 3.Оъявить как статический массив. В каждом нечетном по номеру столбце матрицы найти минимальный элемент и вычислить произведение этих элементов. Объявить как динамический массив.
C (СИ) чуть-чуть переделать Если у студента все 5-ки к стипендии прибавляется 50% от базовой,если 4-ки к стипендии 25%,если 3 то 0 если 2-ка то поторный год обучения.Базовая стипендия 5000.Надо сделать так чтобы было 5 студентов...помогите пожалуйста! #include <conio.h> #include <stdio.h> #define n 5 #define c 5000 int main() { https://www.cyberforum.ru/ c-beginners/ thread178512.html
C (СИ) Ошибка Здравствуйте. Подскажите в чем ошибка? #include <stdio.h> int main() {char s; int p, flag; flag=0; FILE *fp=fopen("Text.txt", "r"); https://www.cyberforum.ru/ c-beginners/ thread178502.html Не получается распечатать весь стек C (СИ)
помогите найти ошибку в коде программы: #include<stdio.h> #include<stdlib.h> struct el_st {char familia, gorod, ulica, imya, pol, nacionalnost,
C (СИ) Программа не корректно отрабатывает программа не корректно отрабатывает, подскажите что не так? #include <stdio.h> #include <conio.h> void main(void) { int i,n; struct worker { https://www.cyberforum.ru/ c-beginners/ thread178318.html C (СИ) Неверный вывод printf Доброго времени суток. Код printf("%s %s\n",byte_to_binary(i), byte_to_binary(sbox1(i))); где const char *byte_to_binary(int) получается: byte_to_binary(i) return "0000" byte_to_binary(sbox1(i)) return "0101" Почему на экран выводит только "0000 0000" ??? https://www.cyberforum.ru/ c-beginners/ thread178300.html
C (СИ) Чтение и вывод данных с файла (решение квадратного уравнения)
уважаемые программисты помогите найти ошибку... прога должна считывать данные из файла... #include <stdio.h> #include <cmath> #include <locale.h> int main() { setlocale(LC_ALL,"Russian"); double a, b, c, x1, x2;
C (СИ) Подсчитать количество слов, что состоят с 1, 2, 3 и т.д. букв Добрый вечер! Задача: Программа на Си считывает с файла текст, и подсчитывает количество слов что состоят с 1-й, 2-ух, 3 и т.д букв. Вот мой ужасный и не рабочий код:) Помогите кто чем может. #include <stdio.h> int main() {char s; int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, flag; a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=flag=0; FILE *fp=fopen("Text.txt", "r"); https://www.cyberforum.ru/ c-beginners/ thread178280.html
fatefighter
0

Перемножить матрицы и вывести результат - C (СИ) - Ответ 1041482

19.10.2010, 21:21. Показов 822. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
помогите, пожалуйста, найти и исправить ошибки в фрагменте программы. вообще она должна делать с матрицами все, но пока проблема в том, чтобы их перемножить и грамотно вывести на экран.
программа должна быть написана на си, без использования с++
сама программа:

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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "stdafx.h"
#include <stdlib.h>
#include <math.h>
 
int print_matrix(int **arr, int m, int n);
int **get_matrix(int m, int n);
int check_matrixes(int m1, int n1, int m2, int n2);
int multiply_matrixes(  int **matrix_1, int m1, int n1,
                        int **matrix_2, int m2, int n2,
                        int ***result_matrix, int *result_m, int *result_n);
int main()
{
    int m_A, n_A,q , m_B, n_B , m_C, n_C;
    int **A=(int **) calloc(m_A, sizeof(int));   
        for (int i=0; i<m_A; i++)
                A[i]=(int *) calloc(n_A, sizeof(int));
    int **B=(int **) calloc(m_B, sizeof(int));   
        for (int i=0; i<m_B; i++)
                B[i]=(int *) calloc(n_B, sizeof(int));
    int **C=(int **) calloc(m_C, sizeof(int));   
        for (int i=0; i<m_C; i++)
                C[i]=(int *) calloc(n_C, sizeof(int));
    do 
        {   printf("write original matrix size:\n");
            printf("write row number:\n");
                scanf ("%d",&m_A);
            printf ("write coloum number:\n");
                scanf ("%d",&n_A);
        (get_matrix(m_A, n_A));
        }
    while (m_A<=0||n_A<=0);
//интерфейс
        for ( ; ; )
        {printf("write the number of operation:\n 0-print matrix\n 1-Addition\n  C=k1*A+k2*B\n");
         printf(" 2-Multiplication\n  C=A*B\n 3-determinant\n 4-inverse matrix\n 5-exit\n");
          scanf("%d",&q);
            switch (q)
            {   case 0: (print_matrix(A, m_A, n_A));
                        break;
                case 1: 
                        break;
                case 2: do 
                        {   printf("write second matrix size:\n");
                                printf("write row number:\n");
                                    scanf ("%d",&m_B);
                                printf ("write coloum number:\n");
                                    scanf ("%d",&n_B);
                            (get_matrix(m_B, n_B));
                        }
                        while (m_B<=0||n_B<=0); 
                    if (check_matrixes(m_A , n_A, m_B, n_B))
                    {
                        if (multiply_matrixes(*A, m_A, n_A,
                            *B, m_B, n_B,
                            *C, &m_C, &n_C))
                        {
                            printf ("\n\nRESULT:\n\n");
                            print_matrix (*C, m_C, n_C);
                        }
                    }else printf ("\n\n====MATRIXES CAN NOT BE MULTIPLY====\n\n");
                        break;
                case 3: 
                        break;
                case 4:
                        break;
                case 5: return 0;
                        break;
                default: printf("\n\n====WRONG NUMBER====\n\n");
            }
        }
 
        return 0;
}
//функция выделения памяти и получения матрицы
int **get_matrix(int m, int n)
{   
    int **arr=(int **) calloc(m, sizeof(int));   
        for (int i=0; i<m; i++)
                arr[i]=(int *) calloc(n, sizeof(int));
        //Ввод элементов матрицы 
        printf("write matrix elements:\n");
        for(int i=0; i < m; i++)
            for(int j=0; j < n; j++)
                scanf("%d", (*(arr+i)+j));
    return arr;
}
//функция вывода матрицы на экран
int print_matrix(int **arr, int m, int n)
{
    for(int i=0; i < m; i++)
        for(int j=0; j < n; j++)
                    printf("%d\t", *(*(arr + i) + j));
return 0;
}
// проверка размерностей матриц
int check_matrixes(int m1, int n1, int m2, int n2)
{
    return (m2==n1);
}
// умножение матриц
int multiply_matrixes(  int **matrix_1, int m1, int n1,
                        int **matrix_2, int m2, int n2,
                        int ***result_matrix, int *result_m, int *result_n)
{
    *result_m = m1;
    *result_n = n1;
    int **ret = (int **) calloc(*result_m, sizeof(int));   
        for (int i=0; i<*result_m; i++)
                ret[i]=(int *) calloc(*result_n, sizeof(int));
        if (ret !=0 )
        {
            for (int i=0; i<*result_m; i++)
                for (int j=0; j<*result_n; j++)
                {
                    int sum = 0;
                    for (int t=0; t< m2; t++)
                    {
                        sum += matrix_1[i][t]*matrix_2[t][j];
                    }
                    (*result_matrix)[i][j] = sum;
                }return 0;
        }else return 1;
}


Вернуться к обсуждению:
Перемножить матрицы и вывести результат C (СИ)
Заказать работу у эксперта
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2010, 21:21
Готовые ответы и решения:

Перемножить между собой две матрицы и вывести конечную
Помогите зделать матрицу 2x4 b 4x4 и их надо перемножить между собой и вывести конечную матрицу. ...

Перемножить две матрицы и вывести результат
Нужно перемножить две матрицы и вывести в третью, с помощью функций StringGrid. Функцию StringGrid...

Как перемножить матрицы и вывести результат в таблице?
Вводишь значение матрицы в первую таблицу она переводится в обратную матрицу третьей таблицы. Как...

Перемножить 2 матрицы, результат - трехмерная матрица
Привет,прошу помочь мне найти ошибки,задачей было поставлено перемножить 2 матрицы размером n на n...

1
19.10.2010, 21:21
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2010, 21:21
Помогаю со студенческими работами здесь

Перемножить 2 и 3 столбцы StringGrid, и вывести результат в 4-й
Добрый день, перейду сразу к проблеме. Имеется таблица StringGrid 4 стобца 10 строк . Нужно...

Перемножить значения и вывести результат в Javascript
Уважаемые форумчане сложилась такая ситуация: for ($x=0; $x&lt;=$num_rows; $x++) { ...

Файлы: заполнить числами, перемножить и вывести результат
Собственно только начал дельфи, нужна небольшая помощь. Нужно создать файл и рандомно заполнить...

Перемножить два столбца и вывести результат больше 100
разбираюсь с запросами MySQL и возник вопрос: у нас есть таблица с двумя полями кол-во и цена и их...

Массив. нужно перемножить элементы столбика и вывести результат
я понял только как считать всю инф. с файла, а вот как перемножить теперь эл-ты 1 столбца?...

Перемножить два столбца и вывести результат в третий столбец
Привет всем !!! Есть База Данных. В ней есть таблица &quot;Статистика повреждений&quot;. Нужно в...

0
Новые блоги и статьи
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
Как работать со скрытыми (hidden) элементами в jQuery
InfoMaster 18.01.2025
В современной веб-разработке управление видимостью элементов на странице является одним из ключевых аспектов создания интерактивных пользовательских интерфейсов. jQuery предоставляет мощный набор. . .
Как переключаться между ветками (Branch) с помощью checkout в Git
InfoMaster 18.01.2025
Ветки в Git являются одной из ключевых концепций для управления версионностью кода, позволяя разработчикам эффективно работать в команде и параллельно развивать программные проекты. Каждый новый. . .
Что такое стек и куча, чем они отличаются и где находятся
InfoMaster 18.01.2025
Понимание основных концепций памяти в программировании В мире современного программирования эффективное управление памятью играет ключевую роль в создании производительных и надежных приложений. . . .
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru