Форум программистов, компьютерный форум CyberForum.ru

Функиции в С. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строковые переменные. http://www.cyberforum.ru/cpp-beginners/thread391677.html
Дано последовательность, что состоит из 1-30 слов, в каждом слове 1-5 букв, все слова разделены запятой, в конце точка. Напечатать все слова, буквы которых упорядочены за азбукой. Подскажите пожалуйста, как решить?
C++ Удалить некоторые символы из строки Есть строка String^ str = ".5555555.23.234..4.4.4."; требуется удалить точки из строки. Конечная строка должна выглядеть так str = "555555523234444" http://www.cyberforum.ru/cpp-beginners/thread391659.html
Найти номер первой по порядку строки, содержащей наибольшее число цифр. C++
Привет всем. У меня такая задачка: Дана символьная матрица порядка 10. Найдите номер первой по порядку строки, содержащей наибольшее число цифр.
C++ циклический тип задач.
1,из всех шестизначных чисел вывести те, которые являются счастливыми 2,из всех трехзначных чисел найти те, сумма цифр которых кратна 2 или последняя цифра равна 5
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread391646.html
Напишите пожалуйста программы на С/С++, очень срочно надо: 1.Вычислить сумму и разность двух заданных одномерных массивов размером 5. Результат напечатать в виде двух параллельных столбцов. 2. Задана прямоугольная матрица. Получить транспонированную матрицу и напечатать её по строкам. 3. Даны действительные числа s,t,a0,...,a12. Получить p(1)-p(t)+p^2*(s-t)-p^3(1), где...
C++ Бесконечный цикл #include <iostream> using namespace std; int main() { int i=0; double ea; while(i!=-1) { cout<<"Enter sales result (-1 if enter is end):"; подробнее

Показать сообщение отдельно
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
25.11.2011, 17:48     Функиции в С.
Ну вот детерминант двух матриц
Подбейте под себя и используйте pow(); для возведения в степень.
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
#include<stdio.h>
#include<malloc.h>
#include<math.h>
#include <stdlib.h>
int det(int** a, int n);
int **reduce_matrix(int **matrix,int n,int position);
int main(void)
{
 int n = 0, i, j;
        int** a;
        printf("Enter size of matrix - >");
        scanf("%d",&n);
        printf("\n");
        a = (int**)malloc(n*sizeof(int*));
            for (i = 0; i < n; i++)
                a[i] = (int*)malloc(n*sizeof(int));
                printf("Enter elements of matrix - >\n");
            for (i = 0; i < n; i++)
                for (j = 0; j < n; j++)
                        scanf("%d",&(a[i][j]));
        printf("%d",det(a,n));
        free(a);
}
int **reduce_matrix(int **a,int n,int position)
{
    int i,j;
    int **ret = (int**)malloc(sizeof(int*)*(n-1));
    for(i = 0;i < n;i++)
        ret[i] = (int*)malloc((n-1)*sizeof(int));
    for(i = 0;i < n - 1;i++)
    {
        if(position != 0)
        for (j = 0; j < position; j++)
            ret[i][j] = a[i + 1][j];
                for (j = position; j < n - 1; j++)
                        ret[i][j] = a[i + 1][j + 1];
    }
    return ret;
}
int det(int** a, int n)
{
        int sum = 0, i;
        if (n == 1)
                return a[0][0];
        for (i = 0; i < n; i++)
                sum += a[0][i] * pow(-1, i) * det(reduce_matrix(a,n,i),n - 1);
        return sum;
}
Правда код не ахти,писал давно его я очень..
ну как первый толчок подойдет

Стойте,не то кинул)Это не то
Сейчас найду и кину нормальный код

Добавлено через 12 минут
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
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
 
int **matrix_create(int ,int );
int matrix_delete(int **,int );
int **matrix_enter(int **,int );
int matrix_print(int **,int );
int ** mmultiply(int **,int **,int );
 
int main(void)
{
    int n;
    int **res1,**res2,**res3;
    printf("Enter the size of matrix\n");
    printf(" - > ");
 
    scanf("%d",&n);
 
    res1 = matrix_create(n,n);
 
    res1 = matrix_enter(res1,n);
 
    res2 = matrix_create(n,n);
 
    res2 = matrix_enter(res2,n);
 
    res3 = mmultiply(res1,res2,n);
 
    matrix_print(res2,n);
    printf("\n");
    matrix_print(res1,n);
 
    matrix_print(res3,n);
 
    matrix_delete(res1,n);
 
    matrix_delete(res2,n);
 
    matrix_delete(res3,n);
}
 
int **matrix_create(int n,int m)
{
    int **res = (int **)malloc(n*sizeof(int*));
        if(res)
        {
            int i;
                for(i = 0;i < n;i++)
                {
                  res[i] = (int*)malloc(n*sizeof(int));
                    if(!res[i])
                    {
                        for(i--;i >= 0;i--)
                        free(res[i]);
                        return 0;
                    }
        }
return res;
        }else
        {
            return 0;
        }
}
int matrix_delete(int **data,int n)
{
    if(data)
    {
        int i;
        for(i = 0;i < n;i++)
        {
            if(data[i])
            free(data[i]);
        }
        free(data);
    }
    return 0;
}
int **matrix_enter(int **res,int n)
{
    int i,j;
    printf("\n----------------------\nEnter elements\n-> ");
    for(i = 0;i < n;i++)
    for(j = 0;j < n;j++)
    scanf("%d",&res[i][j]);
 
    return res;
}
int matrix_print(int **data,int n)
{
    int i,j;
    for(i = 0;i < n;i++)
    {
        printf("\n");
        for(j = 0;j < n;j++)
        printf("%d ",data[i][j]);
    }
    return 0;
}
int **mmultiply(int **a,int **b,int size)
{
    int **c;
    int k = 0;
    c = matrix_create(size,size);
    int i,j;
    int N = size;
     for(i = 0; i < N; i++)
        for(j = 0; j < N; j++)
        {
            c[i][j] = 0;
            for(k = 0; k < N; k++)
                c[i][j] += a[i][k] *b[k][j];
        }
    return c;
}
Вот перемножение двух матриц,размер задается в программе,как и элементы
Не оптимизировано,но работает)
Использовались функции,вам не много надо будет переделать под вашу задачу
 
Текущее время: 06:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru