она должна счиать 5 3 6 8 1 (получается 5 элементов), а не 1 2 9 5
int dv = 1;
int fnh = 5;
int WDOrder[14] = {1, 2, 9, 5, 3, 6, 8};
for (int i = fnh; i>=dv; i--) {
Edit3->Text = sizeof(WDOrder[i]);
}
Другие языки программирования и технологии
С++ Как узнать количество элементов в массиве от 5 до 1?
Вы вопрос нормально задали бы и давно бы Вам уже ответили. Я так понял нужно посчитать расстояние от первого найденного элемента до второго. Причем двигаться можно только вправо, если достигнут конец массива - начать поиск с начала. Вопрос только что делать если число не найдено и первое и второе?
Набросал функцию. Специально не использовал STL. Мало-ли... Вернет 0, если либо первое либо второе число не найдено
//Аргументы - указатель на массив, размер массива, первое число, второе число
size_t alternateLength(int* a, size_t size, int first, int second) {
for(size_t i=0; i < size; i++)
if (a[i] == first) {
size_t count = 0;
size_t j = i;
for(;;) {
j++; count++;
if (j>=size) j=0; //Дошли до конца? Начнем с начала
if (i==j) return 0; //Сделали полный цикл => не нашли
if (a[j]==second) return ++count; //Нашли второе - вернули
}
}
return 0;
}
....
int WDOrder[] = {1, 2, 9, 5, 3, 6, 8};
Edit3->Text = IntToStr(alternateLength(WDOrder, sizeof(WDOrder)/sizeof(WDOrder[0]), 5, 2));
....
//Соотв в Edit3->Text будет 6 (5,3,6,8,1,2)
Набросал функцию. Специально не использовал STL. Мало-ли... Вернет 0, если либо первое либо второе число не найдено
//Аргументы - указатель на массив, размер массива, первое число, второе число
size_t alternateLength(int* a, size_t size, int first, int second) {
for(size_t i=0; i < size; i++)
if (a[i] == first) {
size_t count = 0;
size_t j = i;
for(;;) {
j++; count++;
if (j>=size) j=0; //Дошли до конца? Начнем с начала
if (i==j) return 0; //Сделали полный цикл => не нашли
if (a[j]==second) return ++count; //Нашли второе - вернули
}
}
return 0;
}
....
int WDOrder[] = {1, 2, 9, 5, 3, 6, 8};
Edit3->Text = IntToStr(alternateLength(WDOrder, sizeof(WDOrder)/sizeof(WDOrder[0]), 5, 2));
....
//Соотв в Edit3->Text будет 6 (5,3,6,8,1,2)
Marat ***
не работает твой код пишет ошибку
Азатбек Махаматкулов
не компилируется код твой
sizeof возвращает размер переменной, сколько еще раз это повторить?


Marat ***
не знаешь ответ не отвечай, пиши свою безмозглую прогу как Едит = 5
cout << "Пиздюк !!!" << flush;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
unsigned long *d_massiv;
l=get_l(uroven);
//get_l(uroven) - определяет l в зависимости от входных данных функции
//функция выделения памяти под массив
unsigned long* poluchit_massiv(int kolvo_elementov){
return (unsigned long*) malloc(kolvo_elementov*sizeof(unsigned long));
}
//выделяем память под массив
d_massiv=poluchit_massiv(l);
//заполняем его
d_massiv[0]=1168;
d_massiv[1]=585;
d_massiv[2]=293;
d_massiv[3]=147;
d_massiv[4]=74;
d_massiv[5]=38;
d_massiv[6]=20;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
unsigned long *d_massiv;
l=get_l(uroven);
//get_l(uroven) - определяет l в зависимости от входных данных функции
//функция выделения памяти под массив
unsigned long* poluchit_massiv(int kolvo_elementov){
return (unsigned long*) malloc(kolvo_elementov*sizeof(unsigned long));
}
//выделяем память под массив
d_massiv=poluchit_massiv(l);
//заполняем его
d_massiv[0]=1168;
d_massiv[1]=585;
d_massiv[2]=293;
d_massiv[3]=147;
d_massiv[4]=74;
d_massiv[5]=38;
d_massiv[6]=20;
Marat ***
ты вопрос ошибся
Похожие вопросы
- Напишите программу, которая находит в массиве количество элементов, равных заданному значению X .
- С++. Элементы массива задаются с клавиатуры. Подсчитать количество элементов массива, являющихся трехзначным числом.
- №1.Как вычислить произведение элементов массива(1..5)В Паскале=)))№2.Найти наименьший элемент в массиве!Тоже в Паскале)
- Помогите с С++. Надо найти произведение элементов одномерного массива между первым и последним 0.
- Ввести 10 элементов в массив с клавиатуры, и определите количество элементов, которые кратный 5.
- Как объявить массив в с++, если не известно количество элементов?
- В массиве А[5,5] отсортировать элементы первой строки по убыванию, а последней по возрастанию.
- дан двумерный массив С(3,4).Получите новый массив А путём увеличения всех элементов исходного массива на число С.
- Здраствуйте! На Vb.net дано двухмерные массивы из (5,5) элементов!
- Удаление повторяющихся элементов из массива С++