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

Динамический массив и функции - C++

Восстановить пароль Регистрация
 
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
13.12.2013, 00:53     Динамический массив и функции #1
Здравствуйте. Я составила функцию заполнения динамического массива. У меня такой вопрос. Выведение массива на экран нужно писать в void main() или же можно оставить в функции и он все равно выведется? И еще вопросик, далее у меня еще функции, и в них мне нужно использовать элементы этого динамического массива, нужно ли использовать оператор for для заполнения или просто писать элемент, например
1). с for
C++
1
2
3
4
5
6
7
8
float point(int n,float xy[i][2])
{
float x,y;
for(int i=0;i+3<n;i++)
x=sqrt(xy[i][0]*xy[i][0]+xy[i+][0]*xy[i+][0])
y=sqrt(xy[i][1]*xy[i][1]+xy[i+][1]*xy[i+][1])
return x,y;
}
2). без for
C++
1
2
3
4
5
6
float point(int n,float xy[i][2])
{
float x,y;
x=sqrt(xy[i][0]*xy[i][0]+xy[i+][0]*xy[i+][0])
y=sqrt(xy[i][1]*xy[i][1]+xy[i+][1]*xy[i+][1])
return x,y;
3). Массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<math.h>
float massive()
{
int n,k,i;
printf("Vvedi n - kollichestvo vershin mnogougolnika \n");
scanf("%d",&n);
int **xy=new int* [n];
for(i=0;i<n;i++)
   xy[i]=new int [2];
printf("Vvedite koordinaty vershin:\n");
 
for(i=0; i<n; i++)
 {
   scanf("%f",&xy[i][0]);
   scanf("%f",&xy[i][1]);
 }
for(k=0; k<n; k++)
printf("Koordinats: x[%d] = %5.2f;  y[%d] = %5.2f \n",i+1, xy[k][0], i+1, xy[k][1]);
return n,xy[k][2];
}
У меня при компилировании выдает много ошибок, есть еще функция, в ней тоже ошибки. Подскажите, пожалуйста, как здесь исправить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 00:53     Динамический массив и функции
Посмотрите здесь:

C++ Как правильно создать динамический массив из функции
Динамический массив структуры в качестве параметра функции C++
C++ Как возвратить созданый динамический двухмерный массив из функции в main?
C++ Как создать динамический двумерный массив с использованием функции malloc?
C++ Одномерный динамический массив, передача в функции, добавление и удаление элемента
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
13.12.2013, 01:21     Динамический массив и функции #2
1) нужно переоформить код с тегом "С/С++"
2) читай ошибки. гугли по коду или тексту
3)
Цитата Сообщение от Nekto Посмотреть сообщение
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
int** create_array(int rows, int cols)
{
 int** array=new int*[rows];
 for (int i=0;i<rows;i++)
     array[i]=new int[cols]; 
 return array;    
}
 
void input_array(int ** array,int rows, int cols)
{
 srand(time(NULL));
 for (int i=0;i<rows;i++)
     for (int j=0;j<cols;j++)
         array[i][j]=rand() % 100;
}
void print_array(int ** array, int rows, int cols)
{
 for (int i=0;i<rows;i++)
     {
      for (int j=0;j<cols;j++)
         printf("%d ", array[i][j]);
      printf("\n");
     }
}
 
void delete_array(int **array,int rows)
{
 for (int i=0;i<rows;i++) delete [] array[i];
 delete [] array;       
}
int main()
{
    int n=5; int m=6;
    int ** global_array;
    global_array=create_array(n,m);    
    input_array(global_array,n,m);
    print_array(global_array,n,m);
    delete_array(global_array,n);
    getch();
    return 0;
}
Добавлено через 1 минуту
с delete только не уверен, мб как-то по-другому надо.
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
15.12.2013, 22:25  [ТС]     Динамический массив и функции #3
ZeR_0, Спасибо большое. А можно соединить функции int** create_array и void input_array и void print_array вместе?
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
15.12.2013, 22:29     Динамический массив и функции #4
Цитата Сообщение от -Arabella- Посмотреть сообщение
ZeR_0, Спасибо большое. А можно соединить функции int** create_array и void input_array и void print_array вместе?
да, конечно
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
17.12.2013, 21:05  [ТС]     Динамический массив и функции #5
ZeR_0, Объясните, пожалуйста, что делает оператор getch(); и зачем return 0?
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
17.12.2013, 21:30     Динамический массив и функции #6
getch(); нужен для того, чтобы консоль не закрывалась сразу после окончания выполнения программы. Она ожидает ввод пользователя. Почти тоже самое что и system("pause");

так как main() имеет тип int, то она обязана вернуть (return) значение типа int
все функции кроме void обязаны вернуть значение.

Советую про все это прочитать отдельно
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
17.12.2013, 22:19  [ТС]     Динамический массив и функции #7
ZeR_0, Спасибо за пояснение А могу я int последнюю переделать в void?
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
17.12.2013, 22:27     Динамический массив и функции #8
Цитата Сообщение от -Arabella- Посмотреть сообщение
ZeR_0, Спасибо за пояснение А могу я int последнюю переделать в void?
Вы можете написать void main() и в конце убрать return
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
17.12.2013, 22:27  [ТС]     Динамический массив и функции #9
ZeR_0, Вот еще вопросик) Эта функция заполняет массив случайными числами, я правильно понимаю?
Цитата Сообщение от ZeR_0 Посмотреть сообщение
void input_array(int ** array,int rows, int cols)
C++ (Qt)
1
2
3
4
5
6
{
strand(time(NULL));
 for (int i=0;i<rows;i++)
 for (int j=0;j<cols;j++)
array[i][j]=rand() % 100;
}
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
17.12.2013, 23:56     Динамический массив и функции #10
Цитата Сообщение от -Arabella- Посмотреть сообщение
ZeR_0, Вот еще вопросик) Эта функция заполняет массив случайными числами, я правильно понимаю?
ога
vitecd
18 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 59
18.12.2013, 03:09     Динамический массив и функции #11
Уважаемая, Арабелла.
Пожалуйста, переоформите первый пост, возможно, это повлияет на дальнейшее формирование "стиля". Чтобы вас не называли, как очень хочется назвать
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.12.2013, 03:19     Динамический массив и функции #12
Цитата Сообщение от ZeR_0 Посмотреть сообщение
Вы можете написать void main()
Нестандарт.
ZeR_0
116 / 108 / 37
Регистрация: 30.01.2013
Сообщений: 297
18.12.2013, 07:49     Динамический массив и функции #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Нестандарт.
Ну да в стандарте описаны только эти две. Но для С++, на сколько мне известно, писать void main() вполне нормально. Можно еще void main(void).
Разница причем есть. Это важная, но отдельная история
C++
1
2
int main();
int main(int argc, char *argv[]);
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
19.12.2013, 01:19  [ТС]     Динамический массив и функции #14
vitecd, А как мне переоформить? Что изменить?
Цитата Сообщение от vitecd Посмотреть сообщение
Чтобы вас не называли, как очень хочется назвать
А как вам меня хочется назвать? Интересно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2013, 09:02     Динамический массив и функции
Еще ссылки по теме:

Построение динамического массива в функции и его перевод в глобальный динамический массив C++
C++ Динамический массив. Произведение 2х матриц с использованием собственной функции
Составить прототип функции: Как правильно передать динамический массив по ссылке C++

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

Или воспользуйтесь поиском по форуму:
vitecd
28.12.2013, 09:02     Динамический массив и функции
  #15

Не по теме:

нежно и ласково

Yandex
Объявления
28.12.2013, 09:02     Динамический массив и функции
Ответ Создать тему
Опции темы

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