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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

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

24.11.2012, 22:45. Просмотров 419. Ответов 3
Метки нет (Все метки)

Подскажите пожалуйста, как вернуть mi, mj ?(надо вернуть индексы массива)
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
#include <stdio.h>
#include <string.h>
#include <math.h>
 
int index(int A[3][4]);
 
int main()
{
    int A[3][4];
    int t, k;
 
    /*циферки проставели в нашем двумерном массиве*/
    for(t=0; t<3; t++)
        for(k=0; k<4; k++) {
            A[t][k] = (t*4)+k+1;
        };
 
    printf("%d\n",index(A));
 
   
    getchar();
    return 0;
}
 
int index(int A[3][4])
{
    int max, i ,j, mi, mj;
    mi = 0;
    mj = 0;
    max = A[0][0]; //задали начало
 
    for(i=0; i<3; i++)
        for(j=0; j<4; j++)
            if(A[i][j]>max && A[i][j]==pow(double(int(sqrt(double(A[i][j])))), 2)) {
                max = A[i][j];
                mi = i;
                mj = j;
            };
 
    return mi, mj; // как вернуть эти mi, mj?
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 22:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вернуть индексы массива в функции? (C++):

Как вернуть сразу 2 значения массива в функции? - C++
Собственно дан у меня например массив &quot;aa&quot;, где l-левая граница, а r-правая. При выполнении кода мне надо сразу вернуть эти два стоящих...

Преобразование массива. Нечетные индексы слева, четные индексы справа - C++
Добрый вечер. Задание таково: дан некоторый массив произвольной длины, требуется преобразовать его так, чтобы элементы с четными индексами...

Как вернуть массив из функции? - C++
В общем есть функция: ? foo() { array&lt;array&lt;double, N&gt;, 10&gt; Wave; .... return ?; } Как правильно написать return?

Как вернуть значение функции - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; struct list{ float data; list *next; }; void my(list *p) {

Как вернуть значение функции в С++ - C++
Помогите с задачей

Функции, как вернуть значение? - C++
Нужно вернуть значение sum и min и вывести их main.cpp Но компилятор пишет, что: &quot;Ошибка : использована неинициализированная локальная...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Catstail
Модератор
22618 / 10979 / 1779
Регистрация: 12.02.2012
Сообщений: 18,123
24.11.2012, 22:56 #2
"В лоб" - никак. Решить проблему можно так:

1) поскольку матрица имеет размеры 3*4, то индексы можно "упаковать" в одно целое:

C++
1
  return 10*mi+mj;
Тогда, чтобы получить их в вызывающей программе, нужно будет поступить так:

C++
1
2
3
      int k=index(...);
      mj=k % 10;
      mi=k \ 10;
2) оформить index вот так:

C++
1
void index(int A[3][4], int & mi, int & mj)
Тогда return не нужен.
1
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
24.11.2012, 22:57 #3
Так нельзя как вы написали
Как вариант добавить их в массив m[2] и вернуть его,понятное дело,что m1 будет в m[0] и так далее
Почему вам такой вариант не нравится?
Либо передать в функцию m1 и m2 не по значению,а адреса их,т.е работать с указателем,тогда и возвращать не надо будет - вы с ними итак работаете
1
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
24.11.2012, 23:31  [ТС] #4
Вопрос исчерпан
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 23:31
Привет! Вот еще темы с ответами:

Как вернуть массив из функции? - C++
Please! #include &lt;iostream&gt; using namespace std; int _plus1 (int array ) { for (int i = 0; i &lt; 5; i++){ array...

Как вернуть массив из функции? - C++
int SumElementovStolbca(int M, int mas, int N) { int sum = 0; for (int i = 0; i&lt;N; i++) { for (int j = 0; j&lt;N; j++) {...

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

Как вернуть массив из функции? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int mass(int n) { int* Mass = new int; //здесь...


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

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

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