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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Как вернуть сразу 2 значения массива в функции? - C++

30.11.2012, 22:44. Просмотров 1998. Ответов 5
Метки нет (Все метки)

Собственно дан у меня например массив "aa", где l-левая граница, а r-правая. При выполнении кода мне надо сразу вернуть эти два стоящих рядом друг с другом значения и вывести их на экран. Как это сделать? Мой код возвращает только str, a str+1 не могу возвратить. Помогите пожалуйста.
C
1
2
3
4
 if (str[l] == str[r] && l + 1 == r)
   {
     return str, str +1;
   }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 22:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вернуть сразу 2 значения массива в функции? (C++):

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

Как вернуть из функции два значения? - C++
Подскажите,как вернуть из ф-ции 2 значения .Вроде ,как то можно с помощью pair ,но как здесь это применить?Заранее спасибо Source.cpp ...

Как вернуть из функции два значения - C++
Доброго времени суток! Подскажите, пожалуйста, как вернуть два значения: row и column из функции. Спасибо! void ReadM(long double **mat,...

Как вернуть больше одного значения из функции? - C++
здрасти, как быть если функция должна возвратить не 1 значение а 2?

Как присвоить 10 компонентам сразу значения из массива? - C++
Есть на форме 10 компонентов Clabel,в них есть поле Caption,в которое и нужно присвоить значения. Суть в том,что бы не писать 10 строк...

Как вернуть индексы массива в функции? - C++
Подскажите пожалуйста, как вернуть mi, mj ?(надо вернуть индексы массива) #include <stdio.h> #include <string.h> #include <math.h>...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
remarkes
302 / 225 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
30.11.2012, 23:16 #2
aleksand, ты можешь возвратить из функции с помощью return только одно значение. Это во-первых.
Во-вторых, в приведенном коде нет смысла возвращать два значения. Судя по твоему условию: если ты проверяешь на равенство два соседних элемента массива, то зачем тебе их возвращать оба, когда они равны? Ведь достаточно вернуть одно из них.
Третье: ты возвращаешь "str", а он у тебя массив, а не переменная. Таким образом, ты возвращаешь не сам массив (или элемент), а указатель на первый элемент массива (с индексом ноль). Таким образом, часть строки str + 1 не имеет смысла.
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
30.11.2012, 23:17 #3
так нельзя возвращать, насколько мне известно.

Добавлено через 46 секунд
оп опоздал
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.11.2012, 23:34 #4
aleksand, можно возвращать структуру, std:: pair или использовать ссылки на аргументы функции
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
30.11.2012, 23:45  [ТС] #5
Всем спасибо, вопрос более не актуален.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
30.11.2012, 23:56 #6
aleksand, структуру напиши свою, а если значения одного типа, или можно в куче память выделить и вернуть указатель.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2012, 23:56
Привет! Вот еще темы с ответами:

Вернуть из функции 2 значения - C++
Как вернуть из функции 2 значения? Нужно вернуть строку и ее длину, но чтобы функция SendData() не вызывалась 2 раза. Сейчас узнаю длину...

Из функции вернуть более одного значения - C++
У меня есть функция: code(int y, int z){ int g=y+z; int f=y*z; return g,f; } main(){ int sum=code(5,15); } Как прописать...

Необходимо вернуть значение функции из Булевского значения и посчитать факториал - C++
Стоит задача- Написато программу которая спрашивает пользователя - Рост, вес, и возраст а затем выдаёт размер одежды по след. формулам: ...

Сразу три 1.анализ функции, 2.замена элементов массива, 3.максимальный элемент массива - C++
1. Протабулировать заданную функцию y = f(x) на промежутке с постоянным шагом h. интервал =; шаг h=0.1; система уравнений (х-1)^4 и...


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

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

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