Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перемножение 2-х матриц - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление суммы ряда с заданной погрешностью http://www.cyberforum.ru/cpp-beginners/thread14522.html
народ помогите решить задачку: arctanx=x-x^3/3+x^5/5-...+(-1^n)*(x^(2n+1)/(2n+1))... Численно убедиться в справедливости равенства, для чего для заданного значения х вычислить его левую часть и...
C++ Замена цифр в файле на соответствующие слова Здравствуйте! Я столкнулась с проблемкай... Мне надо написать программку, а я даже не знаю как начать. Помогите пожалуйста, вот задание: имеем текстовый файл, надо создать программку, которая... http://www.cyberforum.ru/cpp-beginners/thread14487.html
C++ Поменять местами минимальный и максимальный элементы массива
68. Поменять местами минимальный и максимальный элементы массива размера 10. 81. Дан массив размера N. Найти номера двух ближайших чисел из этого массива. 84. Дан целочисленный массив размера...
C++ Не получается "работа с файлами"
...вот такая задача: программа должна разбить файл на части(другие файлы) по заданному кол-ву строк и так же собрать его обратно используя эти части.... помогите пож. очень надо....горю....:'(:'(...
C++ Простая задача, помогите найти макс. элементы в матрице http://www.cyberforum.ru/cpp-beginners/thread14453.html
Есть матрица, необходимо найти максимальный элемент, встречающийся более одного раза. Максимальный элемент нашел (с помощью встроенной функции max() в iostream.h), но не могу понять как...
C++ Нужно добавить в программу сортировку нужно добавить сортировку к файлу 2.txt-сюда записывается информация, вот код: #include<stdio.h> #include<stdlib.h> #include<iostream.h> #include<string.h> #include<fstream.h> main(void)... подробнее

Показать сообщение отдельно
d-503
0 / 0 / 0
Регистрация: 18.10.2008
Сообщений: 5
31.10.2008, 21:48  [ТС]
Меня препод заставил переделать через функцию и динамический массив , теперь не работает, при компиляции ) ошибок, запускаю прогу ввожу матрицы и сразу вылетает ошибка. Компилю в Visual C 6. Подскажите в чем ошибка.Срочно то завтра сдавать.
Вот новый код:
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
#include <stdio.h>
#include <stdlib.h>
 
void proizv (int **mas1,int **mas2,int x1,int y1,int y2)
{
    int **mas3;
    int i,j,k;
    mas3=(int **)malloc(sizeof(int *)*y2);
    for(i=0; i<y2; i++)
        mas3[i] = (int*)malloc(sizeof(int)*x1);
    
    for(i=0; i < x1; i++)
        for(j=0; j < y2; j++)
            mas3[i][j]=0; 
    
    for (i=0; i < x1; i++)
        for (j=0; j < y2; j++)
            for (k=0;k < y1; k++)
                mas3[i][j]+=mas1[i][k]*mas2[k][j];
    
    printf("Proizvedenie matr = \n\n\n");
    
    for(i=0; i < x1; i++)
        {
            for(j=0; j < y2; j++)
                {    
                    printf("%d ",mas3[i][j]);
        
                }
        printf("\n");
        }
free(mas3);
}
 
int main()
 
{
    int i,j,x1,x2,y1,y2;
    int **mas1;
    int **mas2;
    printf("Vvedite kol-vo strok matrix 1\n");
    scanf("%d",&x1);
    printf("Vvedite kol-vo stolbcov matrix 1\n");
    scanf("%d",&y1);    
    printf("Vvedite kol-vo strok matrix 2\n");
    scanf("%d",&x2);
    printf("Vvedite kol-vo stobcov matrix 2\n");
    scanf("%d",&y2);
    
    if(y1 != x2)
    {
        printf("!!!Error!!!\n");
        exit(-1);
    }
    mas1=(int **)malloc(sizeof(int*)*y1);
    for(i=0; i < x1; i++)
        mas1[i]=(int*)malloc(sizeof(int)*x1);
    
    for(i=0; i < x1; i++)
    {
        for(j=0; j < y1; j++)
        {
        printf("matr1 A[%d][%d]=", i+1, j+1);
        scanf("%d",&mas1[i][j]);
        }
    }
    mas2=(int **)malloc(sizeof(int*)*y2);
    for(i=0; i < x2; i++)
        mas2[i]=(int*)malloc(sizeof(int)*x2);
    
    for(i=0; i < x2; i++)
    {
        for(j=0; j <y2; j++)
        {
            printf("matr2 A[%d][%d]=", i+1, j+1);
            scanf("%d",&mas2[i][j]);
        }
    }
    
    proizv(mas1,mas2,x1,y1,y2); 
    
    free(mas1);
    free(mas2);
}
Добавлено через 8 минут 19 секунд
Ребят видно чет меня переклинело вроде все заработало...

Добавлено через 25 минут 40 секунд
Заметил закономерность когда кол-во вводимых строк больше чем кол-во столбцов, то тогда выдает ошибку. Я так понимаю ошибка в выделение памяти.В чем проблема?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru