If I declare this array…
string[,] a = {
{"0", "1", "2"},
{"0", "1", "2"},
{"0", "1", "2"},
{"0", "1", "2"},
};
Then I can measure the length with
a.Length
which is 12. How do I measure the dimension of the arrays within? If I try…
a[0].Length
I get Wrong number of indices inside []; expected 2
. What gives?
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
int arr[6][5] = {
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5},
{1,2,3,4,5}
};
int rows = sizeof(arr)/sizeof(arr[0]);
int cols = sizeof(arr[0])/sizeof(arr[0][0]);
cout<<rows<<" "<<cols<<endl;
return 0;
}
Output: 6 5
for 2-d array use this code :
var array = new int[,]
{
{1,2,3,4,5,6,7,8,9,10 },
{11,12,13,14,15,16,17,18,19,20 }
};
var row = array.GetLength(0);
var col = array.GetLength(1);
output of code is :
- row = 2
- col = 10
for n-d array syntax is like above code:
var d1 = array.GetLength(0); // size of 1st dimension
var d2 = array.GetLength(1); // size of 2nd dimension
var d3 = array.GetLength(2); // size of 3rd dimension
.
.
.
var dn = array.GetLength(n-1); // size of n dimension
Best Regards!
0909-090- 1 / 1 / 2 Регистрация: 20.03.2019 Сообщений: 256 |
||||
1 |
||||
как определить длину двумерного массива?14.06.2021, 13:30. Показов 6866. Ответов 10 Метки нет (Все метки)
Например, есть двумерный массив. Как мне найти количество элентов в массиве slows? На данный момент выдаёт ошибку.10 16 C:UsersÂàíÿDesktopc++ yÏÐÀÊÒÈÊÀñàìîå ÷àñòîå ñëîâîmain.cpp [Error] request for member ‘length’ in ‘slows’, which is of non-class type ‘std::string [3][2] {aka std::basic_string<char> [3][2]}’ Что мне исправить?
0 |
1 / 1 / 2 Регистрация: 20.03.2019 Сообщений: 256 |
|
14.06.2021, 13:56 [ТС] |
3 |
Спасибо
0 |
Just Do It! 3559 / 1956 / 626 Регистрация: 23.09.2014 Сообщений: 6,311 Записей в блоге: 2 |
|
14.06.2021, 15:11 |
4 |
sizeof(slows)/sizeof(slows[0]); не то.
Как мне найти количество элентов в массиве slows а кол-во их тут 6,
0 |
248 / 70 / 9 Регистрация: 22.07.2018 Сообщений: 321 |
|
14.06.2021, 15:46 |
5 |
Как мне найти количество элентов в массиве slows а кол-во их тут 6 Кол-во их тут 3.
0 |
XLAT Just Do It! 3559 / 1956 / 626 Регистрация: 23.09.2014 Сообщений: 6,311 Записей в блоге: 2 |
||||
14.06.2021, 15:58 |
6 |
|||
Кол-во их тут 3. вы в этом уверены? Кликните здесь для просмотра всего текста Кликните здесь для просмотра всего текста
0 |
XLAT Just Do It! 3559 / 1956 / 626 Регистрация: 23.09.2014 Сообщений: 6,311 Записей в блоге: 2 |
||||||||
14.06.2021, 16:01 |
7 |
|||||||
0 |
248 / 70 / 9 Регистрация: 22.07.2018 Сообщений: 321 |
|
14.06.2021, 16:02 |
8 |
XLAT, сходи почитай что такое элемент массива.
0 |
Just Do It! 3559 / 1956 / 626 Регистрация: 23.09.2014 Сообщений: 6,311 Записей в блоге: 2 |
|
14.06.2021, 16:11 |
9 |
сходи почитай неа,
элемент массива нету здесь массива!
0 |
4023 / 3280 / 920 Регистрация: 25.03.2012 Сообщений: 12,263 Записей в блоге: 1 |
|
15.06.2021, 00:56 |
10 |
XLAT, мне кажется, автору нужен был именно размер 3, а не 3*2
0 |
Just Do It! 3559 / 1956 / 626 Регистрация: 23.09.2014 Сообщений: 6,311 Записей в блоге: 2 |
|
15.06.2021, 01:16 |
11 |
мне кажется а я уверен, нужно лечь поспать и всё наладиться … а то снова …трололо…
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
15.06.2021, 01:16 |
Помогаю со студенческими работами здесь Как сделать, чтобы строки двумерного динамического массива могли бы иметь различную длину? Как определить длину массива local Table = {} for i = 1,… Узнать длину строки двумерного массива? int arr = {{1,2,3}, Написать программу для обработки двумерного массива размерностью 5*5. Для каждой строки двумерного массива Q определить Написать программу для обработки двумерного массива размерностью 5*5. Для каждой строки двумерного массива Q определить Хорошо ли узнавать длину строки двумерного массива таким способом? Но можно ли делать ТАК? Т.е. насколько это… Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 11 |
В этом посте мы обсудим, как найти длину массива в C#.
1. Использование Array.Length
Имущество
Стандартным решением для нахождения длины массива является использование Array.Length
имущество. Он возвращает общее количество элементов, содержащихся в массиве. Если массив пуст, возвращается ноль. Следующий пример демонстрирует это:
using System; public class Example { public static void Main() { int[] array = { 1, 2, 3, 4, 5 }; int length = array.Length; Console.WriteLine(«Length is « + length); } } |
Скачать Выполнить код
результат:
Length is 5
Для многомерных массивов Array.Length
возвращает общее количество элементов во всех измерениях. Другими словами, он возвращает сумму общего количества элементов в каждом измерении многомерного массива.
using System; public class Example { public static void Main() { int[,] array = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } }; int length = array.Length; Console.WriteLine(«Length is « + length); } } |
Скачать Выполнить код
результат:
Length is 6
В C#, зубчатый массив могут быть разных размеров и размеров. Для зубчатого массива Length
свойство будет указывать количество измерений в массиве. Например,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System; public class Example { public static void Main() { int[][] array = new int[3][]; array[0] = new int[] {1, 2}; array[1] = new int[] {3, 4, 5}; array[2] = new int[] {6, 7, 8, 9}; Console.WriteLine(«array.Length is « + array.Length); Console.WriteLine(«array[0].Length is « + array[0].Length); Console.WriteLine(«array[1].Length is « + array[1].Length); Console.WriteLine(«array[2].Length is « + array[2].Length); } } |
Скачать Выполнить код
результат:
array.Length is 3
array[0].Length is 2
array[1].Length is 3
array[2].Length is 4
2. Использование Array.GetLength(Int32)
Метод
В качестве альтернативы вы можете использовать Array.GetLength()
метод для получения длины одномерного массива. Идея состоит в том, чтобы передать нулевое измерение GetLength
метод для определения общего количества элементов в первом измерении массива.
using System; public class Example { public static void Main() { int[] array = { 1, 2, 3, 4, 5 }; int length = array.GetLength(0); Console.WriteLine(«Length is « + length); } } |
Скачать Выполнить код
результат:
Length is 5
Если массив многомерный, то Array.GetLength()
Метод возвращает общее количество элементов в указанном измерении многомерного массива.
using System; public class Example { public static void Main() { int[,] array = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } }; int length = array.GetLength(0); Console.WriteLine(«Length is « + length); } } |
Скачать Выполнить код
результат:
Length is 2
3. Использование Array.Rank
Имущество
Если вам нужно количество измерений массива вместо количества элементов, используйте Array.Rank
Имущество. Он возвращает 1 для одномерного массива и зубчатого массива (массив массивов), 2 для двумерного массива и так далее.
using System; public class Example { public static void Main() { int[,] array = new int[3, 5]; int rank = array.Rank; Console.WriteLine(«Rank is « + rank); } } |
Скачать Выполнить код
результат:
Rank is 2
4. Использование foreach
Другой возможный, но менее рекомендуемый вариант — вручную подсчитать количество элементов в массиве. В следующем примере показано, как использовать цикл foreach и переменную счетчика для достижения того же.
using System; public class Example { public static void Main() { int[] array = { 1, 2, 3, 4, 5 }; int length = 0; foreach (var item in array) { length++; } Console.WriteLine(«Length is « + length); } } |
Скачать Выполнить код
результат:
Length is 5
Вот и все, что касается нахождения длины массива в C#.