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

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

19.12.2012, 23:24. Просмотров 880. Ответов 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
QA
Эксперт
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() ...

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

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

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

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

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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2012, 23:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Ввод двумерного массива с клавиатуры
Задача такая - ввести с клавиатуры двумерный массив не зная его размер. Прочитал про такой ввод:...


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

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

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