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

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

Войти
Регистрация
Восстановить пароль
 
ALL_ZZ
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 47
#1

Массив - C++

28.08.2012, 13:37. Просмотров 432. Ответов 2
Метки нет (Все метки)

Здравствуйте. Заранее прошу прощения, наверно вопрос баянистый. Пытался узнать длину массива таким способом:
C++
1
int lenght = sizeof(a)/sizeof(int);
Здесь а - целочисленный массив. Дело в том, что в функции main длина вроде как считается, а вот если я массив передаю в функцию (например сортировки), там sizeof(a) почему то равен sizeof(int). Заинтересовавшись этим, я просмотрел реализованные сортировки, которые есть здесь (на киберфоруме). Я заметил, что длину массива там передают в качестве аргумента функции. Вопрос: выходит невозможно определить длину массива, если он передаётся в функцию в качестве аргумента? Если да, то почему? Если нет, то как определить его длину? Заранее спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2012, 13:37     Массив
Посмотрите здесь:

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y - QBasic
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C - Pascal
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B - C (СИ)
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а - Turbo Pascal
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j>3, то Aij=i+j, иначе...

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

Массив. Разделить на два: массив элементов с четными и массив с нечетными индексами - Pascal ABC
VII.Одномерные массивы 50. Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива...

Вывести массив а(i, j), одномерный массив b(i) и полученный массив АВ с помощью функции Cells - VBA
Задача 1 Написать программу для решения следующей задачи: для числа n вводимого с клавиатуры (с помощью функции InputBox())...

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
28.08.2012, 13:58     Массив #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Когда массив передаётся в функцию, параметр принимающий массив, автоматически преобразуется в указатель соотв. типа. Например, если вы хотите передать в функцию массив int num[100], то параметр преобразуется в int *num. Поэтому вы узнаёте не длину массива, а размер указателя.
Поэтому, если массив не char, передаваёте его длину в отдельном параметре.
ALL_ZZ
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 47
28.08.2012, 14:10  [ТС]     Массив #3
Спасибо) Блин, мог бы и сам догадаться...
Yandex
Объявления
28.08.2012, 14:10     Массив
Ответ Создать тему
Опции темы

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