Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
1

ввод двумерного массива

19.12.2012, 23:24. Просмотров 802. Ответов 1
Метки нет (Все метки)

Дана функция ввода массива (vvod) и ввода строки массива (vvodStr) с динамическим распределением памяти.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
float* vvodStr (int n)
{
    float* masStr=new float[n];
    for (int i=0;i<n;i++)
    {
        cout<<i+1<<"-й элемент: ";
        cin>>*(masStr+i);
    }
    return masStr;
}
 
float** vvod (int m,int n)
{
    float** mas=new float*[m];
    for (int i=0;i<m;i++)
    {
        cout<<"\nВведите элементы "<<i+1<<"-й строки\n";
        *(mas+i)=vvodStr(n);
    }
    return mas;
}
Объясните пожалуйста, принцип работы. Подо что выделяется память здесь float** mas=new float*[m]; и здесь:float* masStr=new float[n];

И еще вопрос почему при статическом распределении памяти, в списке формальных параметров мы первые квадратные скобки оставляем пустыми, а во вторых указываем число? например float mas[][100] - массив 100х100 элементов.

Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 23:24
Ответы с готовыми решениями:

Ввод двумерного массива, ввод размерности массива, заполнение массива случайными числами
#include &quot;stdafx.h&quot; #include &quot;locale.h&quot; #include &quot;stdlib.h&quot; #include &quot;math.h&quot; void main() ...

Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива.
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом...

ввод двумерного массива
Как ввести двумерный массив с помощью объекта cin в виде прямоуголника с числами?

Ввод двумерного массива.
Ввожу последовательно числа от 1 до 6, однако на выходе имею : 1 2 4 4 5 6 A всегда...

Ввод двумерного массива
Немного не получается,проверьте пожалуйста,спасибо #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int...

1
pavlovnik
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
19.12.2012, 23:46 2
предположу что:

float* masStr=new float[n]

динамически выделяем память. указатель masStr указывает на массив из n значений float

float** mas=new float*[m]

m это указатель на МАССИВ УКАЗАТЕЛЕЙ float. Тоесть есть указатель который указывает на массив, в котором хранятся указатели. чтобы именно двумерный массив сделать. одномерный-это строка с ячейками, на них и указывают указатели. а если в каждой ячейке еще указатель, который так же указывает на массив, вот и получили двумерный массив.

а вот при статическом, хз. есть предположение, что оставляем пустым чтобы сделать одинакового размера, то есть можно mas[10][10] или можно [][10]( это только предположение)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2012, 23:46

Написать программу, которая вычисляет сумму элементов двумерного массива по столбцам. Организовать ввод массива с клавиатуры по строкам
Написать программу, которая вычисляет сумму элементов двумерного массива по столбцам. Организовать...

ввод двумерного массива из файла
как осуществить ввод двумерного массива из файла? как должны размещаться значения в файле? вот...

Ввод с клавиатуры двумерного массива
Подскажите, как ввести с клавиатуры двухмерный массив и вывести его на экран?


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

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

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