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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
#1

Матрица произвольной размерности - C++

11.10.2011, 13:09. Просмотров 1881. Ответов 25
Метки нет (Все метки)

Разработать класс, объект которого реализует «пользовательский» тип данных. Обеспечить его произвольную размерность за счет использования в объекте динамических структур данных. Разработать необходимые конструкторы, деструктор, конструктор копирования, а также методы, обеспечивающие изменение отдельных составных частей объекта (например, коэффициентов полинома) и вывод его содержимого.
9. Матрица произвольной размерности, представленная размерностями и динамическим массивом указателей на динамические массивы - строки матрицы.

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

Матрица произвольной размерности - C++
Матрица произвольной размерности, представленная размерностями и линейным динамическим массивом коэффициентов матрицы, в котором она...

9. Матрица произвольной размерности, представленная раз* мерностями и динамическим массивом указателей на динамиче* ские массивы - строки матрицы. - C++
Всем привет!помогите пожалуйста с задачей. Матрица произвольной размерности, представленная раз* мерностями и динамическим массивом...

Характеристический многочлен матрицы произвольной размерности - C++
не могу придумать как реализовать характеристический многолчен: дана матрица :\begin{pmatrix}3 &1 \\ 2 &4 \end{pmatrix} нужно найти ее...

Даны две матрицы произвольной размерности - C++
При выполнении этого задания необходимо написать две функции. Одна из этих функций должна получать и обрабатывать матрицу целиком. Другая...

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

Разработать класс Vector – геометрический вектор произвольной размерности - C++
Разработать класс Vector – геометрический вектор произвольной размерности (размерность задается в конструкторе вектора). Реализовать метод...

25
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
11.10.2011, 13:22 #2
Матрица произвольной размерности, представленная размерностями
Ээ што?
0
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
11.10.2011, 13:22  [ТС] #3
Матрица произвольной размерности, представленная размерностями и динамическим массивом указателей на динамические массивы - строки матрицы.
0
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
11.10.2011, 13:34 #4
О, теперь намного понятнее.

Не понимаю задание. Поясню для любителей клеить пакеты: что такое "размерность матрицы"? Размерности бывают у пространств; у матриц самое ближайшее, что можно придумать, размер - два числа, показывающие число строк и столбцов. И как матрица может быть представлена размерностями?
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 14:05 #5
Видимо, ТС нужно следующее: вводится N и M - кол-во строк и столбцов. Подозреваю, именно они и названы размерностями. А дальше память под матрицу выделяется через массив указателей
0
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
11.10.2011, 14:06  [ТС] #6
кто знает как делать?!((
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 14:09 #7
да мы б написали, как делать, если б поняли, что за задание
Можно так
C++
1
2
3
4
5
6
7
8
int N, M;
    cout<<"N=";
    cin>>N;
    cout<<"M=";
    cin>>M;
    int **pArr=new int*[N];
    for(int i=0;i<N;i++)
        pArr[i]=new int[M];
Это то, что надо?
0
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
11.10.2011, 14:16  [ТС] #8
нет!не так,кажется!
0
-=ЮрА=-
Заблокирован
Автор FAQ
11.10.2011, 16:38 #9
Тлеу,
Цитата Сообщение от Тлеу Посмотреть сообщение
нет!не так,кажется!
- разбирись сначала со своим билдером. Что Билдер пишет unable to open iostream.h и вобще на всё ругается???Ну так вот ты скорее всего его криво поставил
Вот ещё раз код на Си
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
#include <stdlib.h>
#include <stdio.h>
 
int main()
{
    long i,j,**arr;//Указатель на наш массив
    printf("Enter num of rows : ");
    long Rows;scanf("%d",&Rows);
    printf("Enter num of cols : ");
    long Cols;scanf("%d",&Cols);
 
    printf("Dynamic array\n");
    arr = (long **)malloc(sizeof(long)*Rows);//Память под массив указателей на строки
    for(i = 0; i < Rows; i++)
    {
                arr[i] = (long *)malloc(sizeof(long)*Cols);//Память под элементы строки
        for(j = 0; j < Cols; j++)
        {
                        //Просто инициализация элементов, я от блады сделал
            printf("%u ",(arr[i][j] = i + j));
        }
        printf("\r\n");
    }
    printf("Enter any symbol to continue\n");
        char ch;scanf("%c",&ch);
    free(arr);//Чистим память
    return 0;
}
И код на С++
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
#include <iostream.h>
 
int main()
{
        long i,j,**arr;//Указатель на наш массив
    cout<<"Enter num of rows : ";
    long Rows;cin>>Rows;
    cout<<"Enter num of cols : ";
    long Cols;cin>>Cols;
 
    cout<<"Dynamic array\r\n";
    arr = new long *[Rows];//Память под массив указателей на строки
    for(i = 0; i < Rows; i++)
    {
                arr[i] = new long[Cols];//Память под элементы строки
        for(j = 0; j < Cols; j++)
        {
                        //Просто инициализация элементов, я от блады сделал
            cout<<(arr[i][j] = i + j)<<" ";
                }
        cout<<"\r\n";
        }
    cout<<"Enter any symbol to continue\r\n";
        char ch;cin>>ch;
    delete [] arr;//Чистим память
    return 0;
}
Которые абсолютно свободно компилятся в Builder 4.5. Миниатюры тебя убедят в том что ошибка не у меня мой пост не у тех кому ты пишешь
Цитата Сообщение от Тлеу Посмотреть сообщение
нет!не так,кажется!
- а только лишь в твоём билдере или в том как ты его поставил надо было пихать не в Program Files а просто положить на диск С.
Как выход предлагаю вырезать папку BORLANDC из PROGRAM FILES и положи в корень С...
0
Миниатюры
Матрица произвольной размерности   Матрица произвольной размерности  
-=ЮрА=-
11.10.2011, 16:41
  #10

Не по теме:

PS:Обижать я тебя не хотел просто хотел открыть глаза на то что проблеммы у тебя с Билдером(верней в том куда ты билдер поставил). Я уже сам догадался что у тебя и как и ведь писал ну выложи ты предупреждения от компилятора, а ты ничего лучшего не нашёл как 2-ю тему сделать

0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
11.10.2011, 16:43 #11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
arr = (long **)malloc(sizeof(long)*Rows);//Память под массив указателей на строки
Отработало только в силу одинакового размера типа long и указателя. К тому же всегда нужно проверять возвращаемые значения...
C
1
2
3
4
5
if ( ( arr = malloc(sizeof(long*) * Rows) ) == NULL ){
    perror("malloc");
    exit(1);
}
//...
1
-=ЮрА=-
Заблокирован
Автор FAQ
11.10.2011, 16:54 #12

Не по теме:

easybudda, посмотри мой пост
Матрица произвольной размерности
у человека Билдер не туда запихнут был
А на счёт указателей - работает и double и unsigned long, я не вижу разницы в том чтобы выделить память
malloc(sizeof(double) * Rows) и
malloc(sizeof(double*) * Rows)
Хотя сейчас для себя вобью

C++
1
2
printf("%d\n",sizeof(double));
printf("%d\n",sizeof(double *));



Добавлено через 3 минуты

Не по теме:

Всё вбил ну да указатель 4 байта
sizeof(double) : 8
sizeof(double *): 4
Press any key to continue
В моём случае выделили sizeof(double *)*Rows памяти больше...Учту в дальнейшем!

1
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
12.10.2011, 13:35  [ТС] #13
я не обиделся!спасибо тебе!
0
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
16.10.2011, 18:41  [ТС] #14
Юра!у тебя есть еще скрины?если есть скинь пожалуйста?!
0
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
18.10.2011, 13:23  [ТС] #15
все равно не вышло...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2011, 13:23
Привет! Вот еще темы с ответами:

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

Дана матрица размерности nxn - C++
Дана матрица размерности nxn. Получить одномерный массив a, хранящий сумму элементов матрицы, находящихся на местах, обозначенных на...

Дана действительная матрица размерности n x n - C++
Оформить решение задач в виде функций с аргументами и не содержащих ввода-вывода. Ввод-вывод, вызов функции реализовать в соответствующих...

Класс Матрица переменной размерности - C++
Надо написать лабу с конструкторами при использовании классов. Вот задание: Матрица переменной размерности представленная динамичиским...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
18.10.2011, 13:23
Ответ Создать тему
Опции темы

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