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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 5.00
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
#1

Количество элементов в массиве - C++

05.05.2012, 11:55. Просмотров 2800. Ответов 8
Метки нет (Все метки)

Доброго времени суток, подскажите как посчитать количество элементов в массиве M[i][j]?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2012, 11:55     Количество элементов в массиве
Посмотрите здесь:

В массиве A из N элементов (N не больше 30) определить количество элементов... C++
Количество элементов в массиве C++
C++ Количество элементов в массиве.
Количество элементов в массиве C++
C++ В массиве X определить количество элементов
Количество повторяющихся элементов в массиве C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: количество элементов массива, больших С, произведение. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5818 / 1216 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
05.05.2012, 12:05     Количество элементов в массиве #2
i * j
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
05.05.2012, 12:43  [ТС]     Количество элементов в массиве #3
Цитата Сообщение от Dekio Посмотреть сообщение
i * j
несовсем то...а если некоторые элементы не инициализированы? M[10][10] = 100 элементов, а из них инициализированных может быть к примеру 30
andy_111
90 / 59 / 2
Регистрация: 03.07.2011
Сообщений: 148
05.05.2012, 12:48     Количество элементов в массиве #4
А что вы называете инициализированными? Равными какому-то значению из определенного диапазона? В том виде, в каком Вы написали память под массив выделяется в размере 100 ячеек, а писать значения в ячейки или нет - дело ваше.
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
05.05.2012, 12:55  [ТС]     Количество элементов в массиве #5
Цитата Сообщение от andy_111 Посмотреть сообщение
А что вы называете инициализированными? Равными какому-то значению из определенного диапазона? В том виде, в каком Вы написали память под массив выделяется в размере 100 ячеек, а писать значения в ячейки или нет - дело ваше.
У меня есть массив M[50][50], из которого выбираются некоторые элементы по определенному алгоритму и копируются в новый массив так же размерностью M1[50][50], но соответственно, что колличество отобраных элементов < 100. В результате в массиве M1 может быть к примеру только 30 элементов. И вот мне нужно посчитать количество элементов в новом массиве. Еще вопрос, остальные 70 являются нулями? или просто не инициализированы, ну то есть указателя на них нет или как? вот этот момент еще не ясен.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,893
Записей в блоге: 1
05.05.2012, 13:00     Количество элементов в массиве #6
C++
1
2
3
4
int sum = 0; // количество элементов в массиве
for(int i=0; i<max; i++)
for(int j=0; j<max; j++)
sum = i*j;
Вроди бы так, или тебе нужен полный код ?
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
05.05.2012, 13:09  [ТС]     Количество элементов в массиве #7
Цитата Сообщение от Sylar9 Посмотреть сообщение
C++
1
2
3
4
int sum = 0; // количество элементов в массиве
for(int i=0; i<max; i++)
for(int j=0; j<max; j++)
sum = i*j;
Вроди бы так, или тебе нужен полный код ?
Не, так я пробовал - выдает чушь...
andy_111
90 / 59 / 2
Регистрация: 03.07.2011
Сообщений: 148
05.05.2012, 15:10     Количество элементов в массиве #8
А что Вам мешает ввести переменную
C++
1
int nCopyCnt;
и инкрементировать ее при копировании элемента из одного массива в другой?
Еще вариант - массив в который производится копирование заранее заполнить числами, которые гарантированно не встретятся в исходном массиве. После копирования посчитать, сколько ячеек с этими элементами осталось.
Ну или ввести параллельный массив, в соответствующих позициях которого писать 0 или 1 (скопирован элемент на этой позиции или нет).
Или - как развитие предыдущего варианта - определить тип
C++
1
2
3
4
typedef struct {
   int nValue;
   bool bCopy;
} typeArr;
и второй массив создать как массив структур этого типа.
C++
1
typeArr M1[50][50];
nValue будет значением, а bCopy - флагом, показывающим, производилось ли копирование в ячейку или нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2012, 15:52     Количество элементов в массиве
Еще ссылки по теме:

Максимальное количество элементов в массиве C++
C++ В массиве из 50 элементов определить количество элементов, кратных 6 и найти минимальный элемент
C++ В одномерном массиве, состоящим из n вещественных элементов вычислить количество элементов массива, больших С
C++ Найти в массиве вещественных чисел количество элементов, которые меньше среднего среди элементов
C++ Количество элементов в одномерном массиве

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

Или воспользуйтесь поиском по форуму:
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
05.05.2012, 15:52  [ТС]     Количество элементов в массиве #9
Цитата Сообщение от andy_111 Посмотреть сообщение
А что Вам мешает ввести переменную
C++
1
int nCopyCnt;
и инкрементировать ее при копировании элемента из одного массива в другой?
Еще вариант - массив в который производится копирование заранее заполнить числами, которые гарантированно не встретятся в исходном массиве. После копирования посчитать, сколько ячеек с этими элементами осталось.
Ну или ввести параллельный массив, в соответствующих позициях которого писать 0 или 1 (скопирован элемент на этой позиции или нет).
Или - как развитие предыдущего варианта - определить тип
C++
1
2
3
4
typedef struct {
   int nValue;
   bool bCopy;
} typeArr;
и второй массив создать как массив структур этого типа.
C++
1
typeArr M1[50][50];
nValue будет значением, а bCopy - флагом, показывающим, производилось ли копирование в ячейку или нет.
Да уже сам догадался, только немного проще сделал нежели вы описали
Yandex
Объявления
05.05.2012, 15:52     Количество элементов в массиве
Ответ Создать тему
Опции темы

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