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

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

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

Массив - C++

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

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

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

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2) - C++
из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
28.08.2012, 13:58 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Когда массив передаётся в функцию, параметр принимающий массив, автоматически преобразуется в указатель соотв. типа. Например, если вы хотите передать в функцию массив int num[100], то параметр преобразуется в int *num. Поэтому вы узнаёте не длину массива, а размер указателя.
Поэтому, если массив не char, передаваёте его длину в отдельном параметре.
4
ALL_ZZ
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 47
28.08.2012, 14:10  [ТС] #3
Спасибо) Блин, мог бы и сам догадаться...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2012, 14:10
Привет! Вот еще темы с ответами:

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

Есть массив одинаковых элементов, сделать функцию делающую массив различных - C++
Дан одномерный массив, среди элементов которого есть совпадающие. Разработать функцию, создающую массив из различных элементов.

Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. - C++
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. Посмотрите пожалуйста... ...

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным - C++
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок схему программы


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

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

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