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

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

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

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

09.04.2011, 19:25. Просмотров 1437. Ответов 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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 ни...

20
ailia
27 / 26 / 1
Регистрация: 27.12.2009
Сообщений: 106
09.04.2011, 19:32 #2
Адрес масива есть адрес его первого элемента. Матрица является массивом масовов, поэтому надо передать в ф-цию указатель на указатель на первый элемент матрицы.
0
vitaska
85 / 85 / 2
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 19:33 #3
во первых вместо
C++
1
int f(int a[5][5],q)
необходимо (каждый параметр должен иметь свой тип):
C++
1
int f(int a[][5], int q)
0
prazuber
09.04.2011, 19:45
  #4

Не по теме:

Если на 5 сдаешь, то такие вещи надо знать. А если не знаешь, то за что пятерку ставить-то?..

0
vitaska
85 / 85 / 2
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 19:47 #5
сперва недоглядел полностью код
вот так будет работать
прототип функции
C++
1
int f(int mass[][5],int row, int col);
0
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
09.04.2011, 19:49  [ТС] #6
тоесть только поэлементно я так понял? сразу весь массив незапихнуть да?

Добавлено через 2 минуты
Цитата Сообщение от PraZuBeR Посмотреть сообщение

Не по теме:

Если на 5 сдаешь, то такие вещи надо знать. А если не знаешь, то за что пятерку ставить-то?..

а мы функции проходили во 2ом симестре))


Цитата Сообщение от vitaska Посмотреть сообщение
сперва недоглядел полностью код
вот так будет работать
прототип функции
C++
1
int f(int mass[][5],int row, int col);
всёравно немног непонял.. ещё 2 перменные те зачем?
0
vitaska
85 / 85 / 2
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 19:50 #7
Цитата Сообщение от lips!! Посмотреть сообщение
тоесть только поэлементно? сразу весь массив незапихнуть да?
вы передаете весь массив, что значит поэлементно? а две переменные количество строк и столбцов

Не по теме:

непонятно вообще, что эта программа делает или должна делать

1
ailia
27 / 26 / 1
Регистрация: 27.12.2009
Сообщений: 106
09.04.2011, 19:57 #8
C#
1
2
3
4
//прототип
int f(int** a,int c,int r);
//вызов
int b = f(&a[0][0],c,r);
1
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
09.04.2011, 20:02  [ТС] #9
пишет что
undefined sumbol f(int,int,int)


мб тут чёта не так пишу??
d[n][n]=f(a[5][5],n,q);

Добавлено через 1 минуту
Цитата Сообщение от ailia Посмотреть сообщение
C#
1
2
3
4
//прототип
int f(int** a,int c,int r);
//вызов
int b = f(&a[0][0],c,r);
во вот теперь понятно.. щас попробую.. спасибо
0
vitaska
85 / 85 / 2
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 20:04 #10
Цитата Сообщение от lips!! Посмотреть сообщение
пишет что
undefined sumbol f(int,int,int)


мб тут чёта не так пишу??
d[n][n]=f(a[5][5],n,q);

Добавлено через 1 минуту

во вот теперь понятно.. щас попробую.. спасибо
что вы хотите записать в d[n][n], ответьте сперва на этот вопрос

и если по моему варианту прототипа функции, то нужно вот так:
C++
1
 d[n][n]=f(a,n,q);
0
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
09.04.2011, 20:05  [ТС] #11
Цитата Сообщение от vitaska Посмотреть сообщение

Не по теме:

непонятно вообще, что эта программа делает или должна делать

да там тупо сортировка... ерунда, сам справлюсь..
надо было разобратся только вот с этим.. нам учитель это не обьяснял
(хотя над заданием было полюбому написано канешно, но я как обычно забыл это прочитать, дома всё делаю просто)
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
09.04.2011, 20:09 #12
ailia, такой вариант возможен только при условии, что массив динамический.
0
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
09.04.2011, 20:18  [ТС] #13
Цитата Сообщение от vitaska Посмотреть сообщение
что вы хотите записать в d[n][n], ответьте сперва на этот вопрос
да я просто варианты перебирал, пробовал всё подряд подставлять(метод тыка) иногда помогает
а то нефига не получалось

Добавлено через 7 минут
Цитата Сообщение от neske Посмотреть сообщение
ailia, такой вариант возможен только при условии, что массив динамический.
тоесть тот вариант неверный?
Цитата Сообщение от vitaska Посмотреть сообщение
и если по моему варианту прототипа функции, то нужно вот так:
C++
1
 d[n][n]=f(a,n,q);
ну вот я канешно наверное снова непонял, вы уж меня извините до меня иногда долго доходит
вот у меня массив с рандомными числами "a"
мне надо бы завести в функцию этот массив там его отсортировать и вернуть
но вот тока он снова выдаёт ошибку..
отказывается принимать вот это d[n][n]=f(a,n,q);
0
vitaska
85 / 85 / 2
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 20:25 #14
Цитата Сообщение от lips!! Посмотреть сообщение
мне надо бы завести в функцию этот массив там его отсортировать и вернуть
вы хотите массиву d присвоить отсортированный массив a? или я не доганяю, если да то так нельзя.

сформулируйте полность ваше задание
1
lips!!
2 / 2 / 1
Регистрация: 02.04.2011
Сообщений: 86
09.04.2011, 20:28  [ТС] #15
объявление функции
int f(int,int,int); прототип как я понял

в программе запись вызова
=f(a[][],n,q) перед равно ставить чё не пойму и в квадратных скобках чё?

ну и сама функция
int f(int a[][],n,q) и тут в квадратных скобках чё ставить?

все варианты перепробовал ничё неподходит((

Добавлено через 1 минуту
Цитата Сообщение от vitaska Посмотреть сообщение
вы хотите массиву d присвоить отсортированный массив a? или я не доганяю, если да то так нельзя.

сформулируйте полность ваше задание
нет.. я просто незнал чё влевую часть писать)))
я хочу чтоб в функции отсортировался массив и вернулся в программу отсартированый

по русскому 2, извиняюсь за орфаграфию)
0
09.04.2011, 20:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2011, 20:28
Привет! Вот еще темы с ответами:

Как передать в функцию указатель на двумерный массив заранее неизвестного размера? - 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 = ' ';...


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

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

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