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

Return многомерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка массива методом пузырька http://www.cyberforum.ru/cpp-beginners/thread1187435.html
Доброго времени суток уважаемые форумчане. Столкнулся с такой проблемой, не знаю как её решить. Суть задачи такова: Нужно реализовать функции: void max(int* tab) // загоняет в массив цифры по возрастанию void min(int* tab) // по убыванию void bubble(int* tab) Первые две функции заполняют массив значениями в соответствующем порядке. (по возрастанию: 0, 1, 2...n-1; по убыванию: n-1, n-2,...,...
C++ Функция находит в строке первый символ, который не входит в другую строку Нужно написать собственную функцию, которая находит в строке первый символ, который не входит в другую заданную строку. Есть код, но работает не очень. Если ввести: 1 строка "малая рама" и 2 строка "малая рана" то он выведет символ "м", а символ "м", входит в строку:( Вообще функция сравнения, сделана не правильно, как переделать не знаю:( Помогите пожалуйста... #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread1187428.html
C++ Даны целые числа a1…a10, целочисленная квадратная матрица порядка n
Даны целые числа a1…a10, целочисленная квадратная матрица порядка n. Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди a1…a10. Помогите написать код, пожалуйста. Добавлено через 1 час 17 минут Уже не нужно, сам написал уже.
Ошибка "Debug Assertion Failed" C++
Привет всем. Я практикуюсь в работе с файлами. Решил написать простенькую программу для вывода суммы двух чисел. Но программа выдает ошибку "Debug Assertion Failed". Что я должен исправить в коде? #include <stdio.h> #include <conio.h> int main() { int n,m; FILE *c; FILE *d;
C++ Прокомментировать код http://www.cyberforum.ru/cpp-beginners/thread1187418.html
#include <iostream> #include <cstring> #include <cstdio> using namespace std; const int maxnode = 4010*100; const int sigma_size = 26; const int MAXN = 300010; const int MOD = 20071027;
C++ Удалить из массива первое простое число, Создать функции для определения максимума простого числа в массиве вещественных чисел найти элемент , превышающий его среднее арифметическое значение если таких элементов несколько , определить их количество . Удалить из массива первое простое число . Создать функции для определения максимума простого числа подробнее

Показать сообщение отдельно
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
30.04.2015, 13:42     Return многомерного массива
Юрий77, какое пустословие в том, что
а) Массив нельзя присвоить массиву, следовательно возврат его из функции несет слишком мало смысла и годился бы скорее всего только для инициализации массива.
б) Массив никогда не возвращается из функции
в) Надо называть вещи своими именами.

Цитата Сообщение от Юрий77 Посмотреть сообщение
А Вы, daslex, сами то знали, как правильно????
Было время - не знал. Почитал книжки, узнал. Об этом во всех абсолютно книжках пишут (хороших). Узнал, что нельзя.

Добавлено через 6 минут
И, да. Когда говорят "Указатель", сразу приходит непонимание. Тут ничего не поделаешь. Но только указатели решают этот вопрос. (либо вектор, либо обертки всякие).

Добавлено через 8 минут
Даже просто объявить функцию, которая возвращает массив нельзя. Получим ошибку: "Функция объявлена как функция возвращающая массив". Ошибка такая вот

С++11
C++
1
2
3
int foo()[5]{
    return {1,2,3,4,5}; //Вообще так можно, но только если не массив, а структура или класс
}
С++11 корректно
C++
1
2
3
4
5
6
7
struct A{
    int Arr[5];
};
 
A foo(){
    return {{1,2,3,4,5}};
}
Но структуры можно присваивать структурам, в отличии от массивов, поэтому это имеет смысл.

Добавлено через 33 минуты
Ну и собственно присваивать массив в массив нельзя, поэтому

C++
1
2
3
4
int main(){
   int Arr[5];
  for (int i=0;i<5;i++) Arr[i]=foo().Arr[i];  //Не очень эффективно, правда?
}
Добавлено через 3 минуты
Ну или
C++
1
2
 int Arr[5];
      memcpy(Arr,foo().Arr,5*sizeof(int));
все равно эффективности нет.
 
Текущее время: 13:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru