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

функция оперделения размера массив - C++

Восстановить пароль Регистрация
 
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
01.02.2010, 19:49     функция оперделения размера массив #1
Хочу написать функцию определения массива
C++
1
2
3
4
5
6
7
8
9
int real_size(int arr[]) {
return sizeof(arr)/sizeof(int);
 
}
 
void main(void) {
int a[5] = {0,1,2,3,4};
 
    cout<<real_size(a)<<endl;
выводит 1 .хз как исправить..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2010, 19:49     функция оперделения размера массив
Посмотрите здесь:

Дан массив. Переписать его второй, четвертый и т.д. элементы в другой массив такого же размера, расположив элементы подряд с начала массива C++
C++ функция для увеличения размера букв
C++ Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1
C++ Задан вещественный массив размера N. Создать целочисленный массив такого же размера, в котором будут записаны индексы исходного массива в порядке во
C++ Функция изменения размера динамического массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
01.02.2010, 19:52     функция оперделения размера массив #2
Массив передается в функцию по указателю, т.е. sizeof(arr) вернет тебе размер указателя типа int, а не размер всего массива.
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
01.02.2010, 19:55     функция оперделения размера массив #3
Krist_ALL, зачем для этого писать функцию?
int a[] = {1,2,3,4,5};
const int size = sizeof(a) / sizeof(*a);
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
02.02.2010, 20:06  [ТС]     функция оперделения размера массив #4
я например сделал массив
int a[]={0,1,2,3,4,5,6,7,8,9,1,2,3,454,8,4};
и хочу сделать вот так
for(i=0;i<real_size(a);i++) {

}
вот для чего мне такая функция.
помогите написать.
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
06.02.2010, 12:55  [ТС]     функция оперделения размера массив #5
Почему нужно всегда делать эту константу...
УДОБНЕЕ намного будет сделать функцию которую я хочу написать.
C++
1
for(i=0;i<real_size(a);i++) {
ВОТ основной кусок кода. ЭТо удобно.
Раньше я кодил на пхп и привык очень к такой функции. в с++ такой нет ....
smithy69
17 / 16 / 1
Регистрация: 06.11.2009
Сообщений: 167
06.02.2010, 13:01     функция оперделения размера массив #6
попробуй работать с vector.h
объявить массив: vector <тип> имя_массива Например: vector <int> massiv
Для добавления в конец массива massiv.push_back()
Для того, чтобы узнать размер massiv.size()
Для обращения к конкретному элементу, как обычно massiv[i]
Yandex
Объявления
06.02.2010, 13:01     функция оперделения размера массив
Ответ Создать тему
Опции темы

Текущее время: 12:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru