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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
#1

Как засунуть двумерный массив в функцию? - C++

09.04.2011, 19:25. Просмотров 1407. Ответов 20
Метки нет (Все метки)

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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int f(int,int);
void main()
{
 int a[5][5],n,m,i,q,d[5][5];
 clrscr();
 randomize();
 for(n=0;n<5;n++)
 {
  for(m=0;m<5;m++)
  {
   a[n][m]=random(10);
   printf("%i ",a[n][m]);
  }
  printf("\n");
 }
 
 scanf("%i",&q);
 d[5][5]=f(a[5][5],q);
 getch();
}
int f(int a[5][5],q)
{
 
}
выдаёт ошибку! почему?

Добавлено через 11 минут
программисты!!! тут 2 строчки всего посматреть и поправить мою программу... помагите студенту!!

Добавлено через 6 минут
форум программистов и сисадминов... ну поф на сисадминов.. программисты куда делись все????
мне с массивом 2умерным чё делать то???
мне осталось сделать 2 задачи на пятёрку.. вот эту и ещё одну!!!
в прошлом симестре экз на 5 сдал))) в этом тоже надо постаратся... только вот с массивом то чё делать???

даже если в функции написать чёнибудь с этими переменными чтоб лишний раз компилятор не вазникал.. так он говарит что типа функция f чёта бла бла бла типа чёта не то с ней!!
чё делать то??7
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2011, 19:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как засунуть двумерный массив в функцию? (C++):

Как передать в функцию двумерный динамический массив? - C++
#include &lt;iostream&gt; #include&lt;time.h&gt; #include&lt;cstdlib&gt; using namespace std; void zap(int array, int n) { ...

Как написать функцию Procent и двумерный массив? - C++
Всем привет! Есть 2 задания, которые необходимо выполнить в DEV C++. 1) Написать функцию Procent, которая возвращает процент от...

Как передать в функцию двумерный массив указателей на класс? - C++
у меня есть std::vector&lt;Monster*&gt; monsters; Rect *pole; int pacmen_distance; Monster и Rect два...

Как правильно передать в функцию указатель на двумерный массив? - C++
Сабж #include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; //ОТ безысходности сделал матрицу глобальной int A = {2,...

Как передать массив (двумерный/одномерный вектор) в функцию? - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int n,m;//סענמך ט סעמכבצנג void searchmin(int g,int mm,int i,int...

Как передать двумерный массив в функцию, которая вызывается в main? - C++
ребят прошу помогите, проблема в том, что у меня есть функция принимающая в параметрах двумерный массив, но когда я вызываю ее в main ни...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vitaska
84 / 84 / 2
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 20:30 #16
прототип функции не
C++
1
int f(int,int,int)
, а
C++
1
int f(int [][5],int,int)
при вызове функции вы отдаете только имя массива без скобок

ну и сама функция
int f(int a[][],n,q) и тут в квадратных скобках чё ставить?
должно быть вот так
C++
1
2
3
4
int f(int a[][5], int n, int q) 
{
 
}
в списке параметров обязательно указывайте тип каждого параметра функции
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
09.04.2011, 20:42  [ТС] #17
int f(int a[][5], int n, int q)
{

}
вот на это ругается
говарит каннот старт а параметр деклоратион
ailia
27 / 26 / 1
Регистрация: 27.12.2009
Сообщений: 106
10.04.2011, 11:56 #18
Цитата Сообщение от neske Посмотреть сообщение
ailia, такой вариант возможен только при условии, что массив динамический.
Указазатель можно создать и на простой массив, поэтому мой вариант тоже подходит.
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
10.04.2011, 11:57 #19
ailia, а вы попробуйте передать указатель на двумерный статический массив.
ailia
27 / 26 / 1
Регистрация: 27.12.2009
Сообщений: 106
10.04.2011, 18:09 #20
Цитата Сообщение от neske Посмотреть сообщение
ailia, а вы попробуйте передать указатель на двумерный статический массив.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
void print(int* a,int r,int c);
 
int main()
{
int matr[3][3] = {{4,493,2},{38,4993,282},{374,5863,48}};
print(&matr[0][0],3,3);
return 0;
}
 
void print(int* a,int r,int c)
{
for(int i = 0;i < r;i++)
{
for(int j = 0; j < c;j++)
cout << *(a + (i * r ) + j) << "\t";
cout << "\n";
}
}
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
10.04.2011, 18:23 #21
ailia, я хотел сказать, что ТС всеравно не сможет нормально работать с этим массивом, ведь по индексам к нему не обратиться, а вариант с указателями ему будет сложен для понимания.
Я виноват, не правильно сформулировал свою мысль, передать то конечно можно)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2011, 18:23
Привет! Вот еще темы с ответами:

Как передать в функцию указатель на двумерный массив заранее неизвестного размера? - C++
Ребята, скажите пожалуйста, как реализовать такую идею? Необходимо передать в функцию двумерный массив, чтобы она изменала его элементы....

Как разбить массив по 3 елемента и засунуть в другой массив - C++
Здарова форумчане. Помогите, кому не лень решить задачу по программированию на c++ Кароче нам дан массив чисел от 1 до 18. Сначала нам...

Передать двумерный массив в функцию - C++
Доброе утро! Подскажите пожалуйста как можно передать двумерный массив из функции в main(). к примеру функция dataFromFile() в ней...

Передать в функцию двумерный массив - C++
void polecln(char *pole,int N,int M) { for (int i = 0; i &lt; 100; i++) { for (int j = 0; j &lt; 100; j++) { pole = ' ';...


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

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

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