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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
#1

динамический 2-х мерный массив - C++

30.06.2011, 22:27. Просмотров 2541. Ответов 24
Метки нет (Все метки)

помогите плиз вот код , нужно составить динамический 2-х мерный массив
C++
1
2
3
4
5
6
double **a
int n,m,l;
scanf("%d%d",&n,&m);
a=(double **) colloc (m,sizeof(double*));
for (i=0;i<m;i++)
a[i]=(double *) colloc(n,sizeof (double))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2011, 22:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос динамический 2-х мерный массив (C++):

Пяти мерный динамический массив - C++
Ребят помогите сделать пяти мерный динамический массив, я просто не в курсе как это делать.

memcpy/CopyMemory + 2-мерный динамический массив - C++
Третий день в ступоре из-за ругательства компилятора. Есть проблема: нужно скопировать данные из одного двумерного динамического массива в...

Программа при исполнении выдает ошибку и прерывается! (2-мерный динамический массив) - C++
Помогите пожалуйста! Задали написать программку, я ее написала, и только в одном фрагменте &quot;зависла&quot;. Для начала надо задать 2-мерный...

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

n-мерный массив - C++
Вопрос заключается в следующем: Как задать n-мерный массив в описании класса, если на начальной стадии неизвестна его размерность? Или...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
01.07.2011, 14:38 #16
Ну подумаешь, немного форумного жаргона
Во втором сообщении, значит.
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
01.07.2011, 14:59  [ТС] #17
C++
1
2
free(matr[i]);
    matr[i] = NULL;
это второе сообщение
C++
1
2
3
}
free(matr);
matr = NULL;
после этого вставлять цикл?

Добавлено через 4 минуты
подскажи строчку после которой необходимо вставить? и что вставить?? помоги срочняк нужно? Просто задачка нужна на экзамен , а экзамен завтра. помоги плиз
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
01.07.2011, 15:01 #18
Может я не по-русски разговариваю?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int row, col;
scanf("%d%d",&row, &col);
double** matr = (double**) malloc(row * sizeof(double*));
for (int i = 0; i < row; i++)
    matr[i]=(double*) malloc(col * sizeof(double));
// здесь полезный код, который работает с матрицей
// здесь тоже работа с матрицей
matr[i][j] = matr[k][m]/100500.0; // и это
// и здесь тоже работаем с матрицей
// ...
// а здесь нам работать надоело и матрица не нужна. далее идёт код удаления матрицы
for (int i = 0; i < row; i++)
{
    free(matr[i]); // удаляем i-ю строку
    matr[i] = NULL;
}
free(matr); // удаляем массив указателей
matr = NULL;
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
01.07.2011, 15:21  [ТС] #19
а где цикл J?

C++
1
matr[i][j] = matr[k][m]/100500.0;
и зачем мы делим
C++
1
matr[k][m]/100500.0;
или что мы здесь делаем?
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
01.07.2011, 15:26 #20
Я телепат! я знал, я знал!
Это строка для примера использования матрицы внутри программы. Если уж на то пошло, то там не только j, но ещё и i, k, m не заданы.
Но всё что идёт до этой строчки, это создание матрицы. А всё, что после, это удаление.
А теперь объясни внятно: что хочешь сделать-то?
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
01.07.2011, 15:38  [ТС] #21
вот мое условие:
Написать программу создания двумерного динамического целочисленного массива и определения суммы индексов всех элементов до первого отрицательного.
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
01.07.2011, 15:48 #22
Так бы сразу и написал.
Ну, примерно так (странное задание, если честно)
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
int row, col, i, j, sum;
int** matr;
scanf("%d%d",&row, &col);
matr = (int**) malloc(row * sizeof(int*));
for (i = 0; i < row; i++)
    matr[i]=(int*) malloc(col * sizeof(int));
 
printf("Input matrix:")
for (i = 0; i < row; i++)
    for (j = 0; j < col; j++)
        scanf("%d", matr[i][j]);
 
sum = 0;
for (i = 0; i < row; i++)
    for (j = 0; j < col; j++)
        if (a[i][j] < 0) {
            i = row; j = col;
        } else {
            sum += i + j;
        }
 
printf("index sum: %d\n", sum);
 
for (i = 0; i < row; i++)
{
    free(matr[i]); // удаляем i-ю строку
    matr[i] = NULL;
}
free(matr); // удаляем массив указателей
matr = NULL;
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
01.07.2011, 15:54 #23
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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    srand( time(0) );
    int **mas;
    int N,M;
    int sum = 0;
    cin >> N;
    cin >> M;
    bool flag = false;
    mas = new int* [N];
    for ( int i = 0; i < N; i ++ )
    {
        mas[i] = new int [ M ];
        for ( int j = 0; j < M; j ++ )
        {
            mas[i][j] = rand() % 50 - rand() % 25;
            if ( mas[i][j] > 0 && !flag ) sum += i + j;
            else flag = true;
            cout << mas[i][j] << "\t";
 
        }
        cout << endl;
    }
    cout << "\n\nSumm = " << sum << endl;
    for ( int i = 0; i < N; i++)
        delete [] mas[i];
    delete [] mas;
    system("pause");
    return 0;
 
}
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
01.07.2011, 16:28  [ТС] #24
что за time(0)
C++
1
 srand( time(0) );
выдает ошибку
error C3861: 'time': identifier not found
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
01.07.2011, 16:32 #25
#include <ctime>

нормальный рандом добавил через минуту, а библиотекту дописать забыл >_<
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2011, 16:32
Привет! Вот еще темы с ответами:

m - мерный массив - C++
Дано n точек m мерного пространства, каждая точка имеет массу. Найти координаты точки наиболее удаленной от точки центра масс. Помогите...

1 мерный массив - C++
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) произведение элементов массива с четными номерами; 2) сумму...

2-х мерный массив. - C++
Дана целочисленная прямоугольная матрица. Определить: 1) количество столбцов, содержащих хотя бы один нулевой элемент; 2) номера строк,...

N-мерный массив в векторе - C++
Здравствуйте. Можно ли в векторе хранить n-мерный массив. т.е. я с клавиатуры ввожу размерность n массива и потом заполняю сам массив.


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

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

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