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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

Создать динамическую матрицу вещественных чисел - C++

04.02.2010, 15:35. Просмотров 1253. Ответов 21
Метки нет (Все метки)

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

Вывести матрицу вещественных чисел - C++
Помогите пожалуйста , Вывести матрицу вещественных чисел 1.1 1.3 1.5 1.7 1.9 ...

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

Создать класс вещественных чисел (double) - C++
Создать класс вещественных чисел (double). Определить оператор --, как функцию- член и ++ как дружественную функцию. я сделал...

Создать класс вещественных чисел Double - C++
Создать класс вещественных чисел Double. Определить перегруженную функцию, возвращающую максимальное из двух аргументов. Функция не...

Создать массив вещественных чисел из 10 элементов - C++
Задача в С++ Создать массив вещественных чисел из 10 элементов. Ввести элементы массива с клавиатуры при помощи scanf. Найти сумму...

Создать динамический массив вещественных чисел. - C++
Создать динамический массив вещественных чисел. (С++) На каждый вопрос создавайте по одной теме - это помогает избежать путаницы в...

21
Gvinpin
1 / 1 / 0
Регистрация: 22.11.2009
Сообщений: 33
04.02.2010, 18:38 #2
C++
1
2
3
4
#include <vector>
void main () {
vector <vector <double>> vect;
}
где vect название массива
если не так подправьте. кстати интерсно как туда добавлять числа?

не так?
C++
1
2
 
vect[k].push_back[i];
где i число добавляемое, а k это номер строки
0
SerЁga
32 / 32 / 4
Регистрация: 18.08.2009
Сообщений: 93
04.02.2010, 18:40 #3
Создание матрицы float размером 5 на 5.
C++
1
2
3
4
5
6
7
8
9
10
11
         void main()
{ 
         int n=5;
      int m=5;
      float** matrix;
      matrix=new float* [n];
      for(int i=0;i<n;i++)
      {
          matrix[i]=new float[m];
      }
}
Язык C++
2
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.02.2010, 18:46  [ТС] #4
Gvinpin, мне тоже интересно))
0
Gvinpin
1 / 1 / 0
Регистрация: 22.11.2009
Сообщений: 33
05.02.2010, 17:35 #5
SerЁga, это ведь статический массив, а хотелось бы динамический...
Поможет кто нибудь?
0
JKeeJ1e30
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
05.02.2010, 17:38 #6
Да какой же он статический?! Не видишь двух звездочек?!?!
0
Gvinpin
1 / 1 / 0
Регистрация: 22.11.2009
Сообщений: 33
05.02.2010, 17:43 #7
блин я не понял... прокомментируйте это пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
         void main()
{ 
         int n=5;
          int m=5;
          float** matrix;
          matrix=new float* [n];
          for(int i=0;i<n;i++)
          {
                  matrix[i]=new float[m];
          }
}
0
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 894
05.02.2010, 17:43 #8
не звездочки тут главное а функция NEW которая собственно выделяет память под массив
0
JKeeJ1e30
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
05.02.2010, 17:46 #9
Цитата Сообщение от cibertronic Посмотреть сообщение
не звездочки тут главное а функция NEW которая собственно выделяет память под массив
Ну в принципе согласен.
0
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 894
05.02.2010, 17:46 #10
да, и по окончании работы с таким массивом необходимо освобождать память функцией delete mass[i][j]
0
Gvinpin
1 / 1 / 0
Регистрация: 22.11.2009
Сообщений: 33
05.02.2010, 17:47 #11
ага. то есть сначала создается массив потом он заполняется массивами через for. А функция new выделяет неограниченную память?
0
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 894
05.02.2010, 17:57 #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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
void main()
{
int n,m;
printf("\n vvedite koli4estvo strok i stolbcov v matrice ");
scanf("%d%d",&n,&m);
int j,i;
int **mas2;
mas2=new int *[n];
randomize();
for(i=0;i<n;i++)
{
mas2[i]=new int[m];
for(j=0;j<m;j++)
mas2[i][j]=random(25);
}
puts("\n vyvod elementov dvumernogo massiva\n");
for(i=0;i<n;i++)
{
printf("\n\n");
for(j=0;j<m;j++)
printf("%4d",mas2[i][j]);
}
// îïðåäåëÿåì êîë-âî ïðîñòûõ ÷èñåë
int col=0;
for(i=0;i<n;i++)
        for(j=0;j<m;j++)
                {
                        int fl=1;
                        if(mas2[i][j]<2){fl=0; }
                        for(int y=2; y<=sqrt(mas2[i][j]) && fl; y++)
                if(mas2[i][j]%y==0){fl=0;}
                                if(fl){col++;}
                }
printf("\nKol-vo prostih chisel: %d\n", col);
for(i=0;i<n;i++)
delete mas2[i];
delete []mas2;
getch();
}
Добавлено через 1 минуту
не неограниченную а в пределах типа а именно float


Добавлено через 5 минут
c 28 по 39 строку можешь убрать получится практически то что надо
1
Gvinpin
1 / 1 / 0
Регистрация: 22.11.2009
Сообщений: 33
05.02.2010, 17:57 #13
cibertronic, то есть определяет сколько простых чисел в двухмерном массиве.Вроде понятно
кроме объвления
C++
1
2
int **mas2;
mas2=new int *[n];
в звездочках теряюсь... Это синтаксис??

Сколько звездочек столькомерный массив???
0
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 894
05.02.2010, 18:06 #14
тут определяет сколько простых чисел фрагмент с 29 по 38 строку
int задает тип чисел, и ограничевает память так сказать.....эммм... а n и m уже задает сколько столбцов в массиве истрок соответственно. а

Добавлено через 2 минуты
нет, звездочка означает указатель на одномерный массив, а в моем коде выполнен двумерный массив в виде указателей на указатели, то есть как одномерный массив массивов
1
Gvinpin
1 / 1 / 0
Регистрация: 22.11.2009
Сообщений: 33
05.02.2010, 18:08 #15
то есть в принципе можно создать большой массив, если не int m,n а например double m,n
а звездочки синтаксис или за что то отвечают?

прошу извинения я новичек. и мне всего 15 лет))

А можешь сразу пояснить randomize(); и random(25);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2010, 18:08
Привет! Вот еще темы с ответами:

Дана матрица вещественных чисел. Преобразовать матрицу таким образом, чтобы элементы ее строк шли по убыванию - C++
Дана матрица вещественных чисел. Преобразовать матрицу таким образом, чтобы элементы ее строк шли по убыванию

Создать класс Massiv (матрица вещественных чисел), - C++
Помогите решить, пожалуйста. Спасибо. Создать класс Massiv (матрица вещественных чисел), количество строк и столбцов константные...

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

Создать класс для работы с одномерными массивами вещественных чисел - C++
#include &lt;iostream.h&gt; // заголовочные файлы стандартных #include &lt;windows.h&gt; // библиотек #define TRUE 1 // макроопределения...


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

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

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