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

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

Восстановить пароль Регистрация
 
tyrbooo1
1 / 1 / 0
Регистрация: 11.05.2015
Сообщений: 47
Завершенные тесты: 1
26.09.2016, 10:09     Динамическое выделение памяти. Использование функций для обработки двумерных массивов #1
не понимаю что делаю хотя задание такое
1.2. Постановка задачи
Задача 1. Разработать алгоритм и программу выполняющую следующие операции:
1. С помощью динамического выделения памяти создать двухмерный массив размерностью m x n элементов указанного типа данных. Размерность массива вводить с клавиатуры.
2. Для выделения и освобождения памяти воспользоваться операторами new и delete.
3. Заполнить массив случайными значениями в заданном диапазоне.
4. Вывести на экран значения элементов массива в виде таблицы.
5. Вычислить сумму значений элементов указанного объекта с номером номер. Вывести на экран значения элементов и полученную сумму.
6. При выполнении операций заполнения массива значениями и вывода значений на экран необходимо использовать оператор цикла, указанный в задании.

4 5 6 long -10000 20000 for столбец 2

а вот что я сделал сам + что нарыл на просторах интернета)
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
const int n = 6;
const int m = 5;
 
void input(long double **a[n][m])
{
long double i,j;
for (i=0; i<n; i++)
for (j=0; j<m; j++) 
a[i][j]=rand ()%30000 - 1;
      cin>>a[i][j];
  }
  cout<<"\n";
}
 
void output(long double **a)
{
  cout<<"output data: \n";
  for (int i=0; i<m; i++)
  {
    for (int j=0; j<n; j++)
      cout<<a[i][j]<<"\t";
    cout<<"\n";
  }
}
 
void del(long double **a)
{  
  for (int i=0; i<m; i++)
  {
    delete []a[i];
  }
  delete []a;
}
 
int main()
{
  long double **a = new long double *[m];
  for (int i=0; i<m; i++)
  {
    a[i] = new long double[n];
  }
  input(a);
  output(a);
  return 0; 
}
что не так в программе из постановки задачи, а если из ошибок так токо
13 4 [Error] invalid types 'long double** (*)[5][long double]' for array subscript
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2016, 10:09     Динамическое выделение памяти. Использование функций для обработки двумерных массивов
Посмотрите здесь:

C++ Динамическое выделение памяти для массива
Написать программу обработки двумерных массивов, используя динамическое размещение данных C++
Привести пример обработки и преобразования матриц, используя динамическое выделение памяти C++
C++ Оператор new. Динамическое выделение памяти - В чем разница двух определений массивов
C++ Динамическое выделение памяти для Вектора ( не STL)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
26.09.2016, 10:15     Динамическое выделение памяти. Использование функций для обработки двумерных массивов #2
В общем случае, для оформления кода,
выделите код и нажмите на кнопку соответствующего языка (см. изображение)
nmcf
4312 / 3733 / 1260
Регистрация: 14.04.2014
Сообщений: 14,640
26.09.2016, 10:17     Динамическое выделение памяти. Использование функций для обработки двумерных массивов #3
Если размеры вводятся пользователем, почему они константы у тебя?
При передаче массива в функцию для обработки нужно передавать указатель и размеры:
C++
1
void input(long double **a, int n, int m)
tyrbooo1
1 / 1 / 0
Регистрация: 11.05.2015
Сообщений: 47
Завершенные тесты: 1
26.09.2016, 10:38  [ТС]     Динамическое выделение памяти. Использование функций для обработки двумерных массивов #4
Хорошо! Извините!

Добавлено через 48 секунд
я хоть в том направлений иду? по задаче?
Yandex
Объявления
26.09.2016, 10:38     Динамическое выделение памяти. Использование функций для обработки двумерных массивов
Ответ Создать тему
Опции темы

Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru