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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Savali
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 5
#1

Динамические массивы - C++

19.10.2009, 15:52. Просмотров 1132. Ответов 0
Метки нет (Все метки)

Здравствуйте!Помогите пожалуйста закончить программу. Вот задание:
Написать функцию вычисления произведения прямоугольной матрицы A размера k x m на прямоугольную матрицу B размера m x n. В главной программе обратиться к этой функции.
Сделано вот что
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
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<alloc.h>
float **matr(float **a, int k, int m, float **b, int n)
{if(a==NULL || b==NULL)
return NULL;
//создаем результирующую матрицу С k x n
float **c=(float**)malloc(k*sizeof(float*));//выделяем память под массив указателей (строк) матрицы C
if(c==NULL)
{printf("Не создан динамический массив!");
return NULL;}
for (int i=0;i<k;i++)
{c[i]=(float*)malloc(n*sizeof(float));//выделяем память под i-строку
if(c[i]==NULL)
{printf("Не создан динамический массив!");
return NULL;}
for(int j=0; j<n; j++) {c[i][j]=0;
}
}
//умножаем матрицы
for(i=0;i<k;i++){
for(int j=0; j<n;j++){
for(int q=0;q<m; q++){
c[i][j]+=a[i][q]*b[q][j];
}
}
}
return c;
}
void main()
{int k,m,n,i,j,q;
float **a; float **b; float **c;
clrscr();
randomize();
printf("Введите количество строк и столбцов матрицы А:"); scanf("%d %d",&k,&m);
a=(float**)malloc(k*sizeof(float*));
if(a==NULL)
{printf("Не создан динамический массив!");
return;}
for (i=0; i<k; i++)
{a[i]=(float*)malloc(m*sizeof(float));//выделяем память под i-ю строку
if(a[i]==NULL)
{printf("Не создан динамический массив!");
return;}
for(int q=0; q<m; q++) {a[i][q]=random(10);}}
printf("\n Введите количество столбцов матрицы B:"); scanf("%d",&n);
b=(float**)malloc(m*sizeof(float*));
if(b==NULL)
{printf("Не создан динамический массив!");
return;}
for (q=0; q<m; q++)
{b[q]=(float*)malloc(n*sizeof(float));
if(b[q]==NULL)
{printf("Не создан динамический массив!!");
return;}
for(int j=0; j<n; j++) {b[q][j]=random(10);}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2009, 15:52     Динамические массивы
Посмотрите здесь:

Динамические массивы - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать. Добавить строку с заданным номером и...

Динамические массивы - C++
Добрый вечер! Проблема такая,плохо понимаю,как изменить в моей программе обычные массивы на динамические. Надеюсь,кто-то поможет и...

Динамические массивы - C++
помогите решить плз Составить программу, которая удаляет из списка L за каждым вхождением элемента Е один элемент, если таковой имеется и...

динамические массивы - C++
Здравствуйте, Посмотрите ,пожалуйста,задачу! ...

Динамические массивы - C++
3. Постановка задачи 1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. 2. Выполнить...

Динамические массивы - C++
Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. Удалить первый четный элемент и вывести...

Динамические массивы - C++
Суть задания такова. Создается динамический массив А, заполняется элементами. Затем создается массив B, куда записываются все элементы...

динамические массивы - C++
Задали квадратную матрицу, все элементы которой равны единице. Написать функцию void func (int ** arr, int n), которая заполняет...

Динамические массивы - C++
1. Заданы два массива А(N) и В(M). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий...

Динамические массивы - C++
Дана целочисленная матрица размером N. Найти сумму наименьших элементов ее нечетных строк и наибольших элементов ее четных строк. Нужно...


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

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

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