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

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

Войти
Регистрация
Восстановить пароль
 
Chaos1993
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 52
#1

динамическая память под матрицы - C++

17.06.2011, 11:38. Просмотров 604. Ответов 6
Метки нет (Все метки)

Добрый день! Нужна помощь очень сильно. Есть две задачи, помогите пож реализовать.

1.Написать функцию, получающую на входе две динамические матрицы одного размера, выполняющую перемножение этих матриц и возвращающую динамичкскую матрицу произведение.

2. Описать функцию, которая получает на входе файл, в каждой строке которого записаны пары натуральных чисел, выбирает пары из взаимно простых чисел, упорядочивает их по возрастанию сумм чисел пары и записывает в новый файл.

Пожалуйста помогите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2011, 11:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос динамическая память под матрицы (C++):

Динамическая память под объект - C++
Проблема в том, что после второго выделения в первом элементе уже хранится 0. В коде описана проблема. Я понимаю из-за чего проблема, но не...

Матричный калькулятор, динамическая память для матрицы - C++
Всем доброго времени суток. Пишу программу в С++ Builder - матричный калькулятор, с использованием компонента StringGrid. #include...

Упорядочить столбцы матрицы по неубыванию характеристик. Динамическая память - C++
Дана целочисленная матрица A(M,N). Характеристикой j –го столбца матрицы назовем значение элемента, который встречается максимальное число...

Динамически выделить память под верхний треугольник квадратной матрицы - C++
прога все считает, но в конце выдается системная ошибка... я пришел к выводу, что ошибка - в выделении памяти под верхний треугольник...

Статическая память,Динамическая память. - C++
a) Статическая память. Двумерный массив. Дан массив целых чисел. В массиве есть отрицательные числа. Определить координаты левого нижнего...

Динамическая память - C++
Здраствуйте!!!! Помогите выделить память под двумерные массив элементами которого являются слова. Было бы хорошо листинг программы....

6
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
17.06.2011, 11:50 #2
Машинное представление матрицы есть двумерный массив. Если матрица динамическая, то и массив такой же. Если бы статик, то
C++
1
double a[n][m];
, а в параметре указаетль на указатель. Но если динамик, то как представить матрицы? Блоками даблов в куче? Или матрицы - это объекты с ресайзом?
0
Chaos1993
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 52
17.06.2011, 12:04  [ТС] #3
спасибо что ответил =) но я уже первую задачу сделал. А вот со вторым заданием кошмар.. Н знаю как вообще писать программу =( может быть ты поможешь со вторым заданием. ??
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
17.06.2011, 12:11 #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
template <typename Type> **mul(Type **a, Type **b, unsigned int n, unsigend int m)
{
 Type **result;
 unsigned int  i,j,k;
 result=new (Type *)[n];// Выделяем память под указаетли на строки результата
 if (result)// Память под указаетли на строки ответа выделена?
 {// Память под указатели на строки ответа выделена
  for (i=0; i<n; ++i)
  {
   result[i]=new Type[m];// Выделяем память под строку резльтата
   if (result[i])// Память под строку результата выделена?
   {// Память под строку результата выделена
    for (j=0; j<m; ++j)
    {
     for (result[i][j]=0, k=0; k<m; ++k)
     {
      result[i][j]+=a[i][k]*b[k][j];
     }
    }
   }// Память под строку результата выделена
   esle
   {
    for (; i<n; --i)
    {
     delete [] result[i]; // Освобождаем память под строку результата
    }
    delete [] result; // Освобождаем память под указатели на строки результата
   }
  }
 }// Память под указаетли на строки ответа выделена
 return result;
}
0
Chaos1993
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 52
17.06.2011, 12:19  [ТС] #5
спасибо большое =) а со второй задачкой можешь помочь? Ее нун делать используя связные списки. Ну я как то не особо шарю в них.
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
17.06.2011, 12:24 #6
Цитата Сообщение от Chaos1993 Посмотреть сообщение
2. Описать функцию, которая получает на входе файл, в каждой строке которого записаны пары натуральных чисел, выбирает пары из взаимно простых чисел, упорядочивает их по возрастанию сумм чисел пары и записывает в новый файл.
Функции переданы дескрипторы, или имена файлов? Каков фактический формат этих файлов, то есть каким образом там храняться числа? В виде текста? Или файлы бинарные?
0
Chaos1993
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 52
17.06.2011, 12:27  [ТС] #7
в виде текста
0
17.06.2011, 12:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2011, 12:27
Привет! Вот еще темы с ответами:

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

динамическая память.... - C++
Ввести двухмерном массив, для работы с массивом использовать указатель. Массив разместить в динамической памяти. Определение суммы...

Динамическая память - C++
Каким способом можно задать динамическую память , кроме как через new ?

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


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

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

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