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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.85
D.o.c.t.o.r
4 / 4 / 0
Регистрация: 10.09.2010
Сообщений: 53
#1

Перебор элементов массива - C++

10.09.2010, 15:54. Просмотров 6864. Ответов 12
Метки нет (Все метки)

Доброго времени! Я новичек в С++, поэтому прошу не ругать. Вопрос - как организовать перебор элементов массива? Вот, например, в таком коде:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int _tmain(int argc, _TCHAR* argv[])
{
int nTempValue;
int myArray[n];
//Проверка на повторный ключ
for (int i = 0; i <= n-1; i++)
{
label1:cout << "Enter i =" << i << "key";
cin >> nTempValue;
myArray[i] = nTempValue;
for (int j = 0; j < i; j++)
{
if (myArray(j) == myArray(i)) - в этой строчке ошибка на myArray[j]
{
cout << "The entered key already exists. Enter a unique key\n";
goto label1;
//continue;
}
}
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2010, 15:54     Перебор элементов массива
Посмотрите здесь:

Перебор элементов массива - C++
Добрый день, ув. форумчане. В наличии следующий код: int i; WCHAR *slovo = {L&quot;слово1&quot;, L&quot;слово2&quot;, ..., L&quot;слово1000&quot;}; int...

перебор элементов массива - C++
дан массив целых чисел. поменять местами пары элементов в массиве: 1 и2,3 и 4,5 и 6 и т.д.

Перебор символьного массива - C++
Помогите, не могу написать прграмму которая добавляет символ. Например: вводим D:\myfolder\secondfolder\ , а выводим...

Перебор элементов очереди - C++
Здравствуйте! Подскажите, пожалуйста, как мне получить доступ к определённому элементу очереди? Я понимаю, что прямой доступ мы имеем...

Перебор всевозможных состояний массива - C++
Доброго времени суток. Задача: Дан двумерный массив(скажем, 4х4) заполненный рандомным образом числами, причем числа могут быть только...

Перебор сумм чисел массива - C++
Собственно по одному предмету делаю курсач, и хотелось бы себя наверняка перепроверить, да и попрактиковать лишний раз C++. Нужно...

Полный перебор чисел массива - C++
Доброго вам времени суток. Количество элементов массива задавать вручную - собственно N. Массив заполняется числами от 1 до N. Стоит...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
10.09.2010, 15:58     Перебор элементов массива #2
Цитата Сообщение от D.o.c.t.o.r Посмотреть сообщение
в этой строчке ошибка на myArray[j]
взятие элемента по индексу - квадратные скобки, переменная n неинициализрована, в целом это просто ужас
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define N 10
int main()
{ 
    int i = 0;
    int array[N];
       
    for(i = 0; i < N; ++i) {
        // ввод в массив
        for(j = 0; j < i; ++j) {
            if(array[i] == array[j])
                ; // Что-то делается
        }
    }
}
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
10.09.2010, 15:58     Перебор элементов массива #3
Вместо круглых скобок () использовать надо квадратные [].
D.o.c.t.o.r
4 / 4 / 0
Регистрация: 10.09.2010
Сообщений: 53
10.09.2010, 16:04  [ТС]     Перебор элементов массива #4
Большое спасибо. Я привык из фортрана круглые скобки ставить... fasked, переменная n инициализирована, я просто этот код не выставил, но спасибо за подсказку.

А можно ли переделать программу так, чтобы массив myArray[] был в качестве возвращаемого аргумента отдельной функции?
dihlofos
10.09.2010, 16:11
  #5

Не по теме:

Зачем кстати goto, можно просто i--, цикл же...

fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
10.09.2010, 16:21     Перебор элементов массива #6
Цитата Сообщение от D.o.c.t.o.r Посмотреть сообщение
А можно ли переделать программу так, чтобы массив myArray[] был в качестве возвращаемого аргумента отдельной функции?
Сам массив возвращать нельзя, но можно воспользоваться указателями. Вот пример работы с массивом через указатель. Целых два способа
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
#define N 10
 
void fill_array(int *a, int size) {
    int i = 0;
    for(i = 0; i < size; ++i)
        a[i] = i;
}
 
void print_array(int *a, int size) {
    while(size--)
        printf("%d ", *a++);
}
 
int main()
{ 
    int i = 0;
    int array[N];
    
    fill_array(array, N);
    print_array(array, N);
}
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
10.09.2010, 16:23     Перебор элементов массива #7
Цитата Сообщение от D.o.c.t.o.r Посмотреть сообщение
int _tmain(int argc, _TCHAR* argv[])
кто-нибудь, объясните, что за странный мэйн?
fasked
10.09.2010, 16:24
  #8

Не по теме:

Цитата Сообщение от niXman Посмотреть сообщение
кто-нибудь, объясните, что за странный мэйн?
нормальный такой мелкомягкий main

niXman
10.09.2010, 16:26
  #9

Не по теме:


т.е. для микрософта нужно писать такой мэйн? а стандартный он понимает?

fasked
10.09.2010, 16:29
  #10

Не по теме:

Цитата Сообщение от niXman Посмотреть сообщение
т.е. для микрософта нужно писать такой мэйн? а стандартный он понимает?
Понимает конечно, это обычный макрос, сделан для каких-то замуток с юникод/неюникод.
TCHAR - может быть либо юникодным символом, либо обычным в зависимости от свойств проекта.
tmain - аналогично.
Зачем это все я не знаю Может быть как-то связано с winapi-функциями

D.o.c.t.o.r
4 / 4 / 0
Регистрация: 10.09.2010
Сообщений: 53
10.09.2010, 16:30  [ТС]     Перебор элементов массива #11
Цитата Сообщение от niXman Посмотреть сообщение
кто-нибудь, объясните, что за странный мэйн?
Этот мейн из программы Embarcadero RAD Studio 2010
niXman
10.09.2010, 16:30
  #12

Не по теме:

спасибо

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2010, 17:45     Перебор элементов массива
Еще ссылки по теме:

Перебор массива и поиск повторяющихся чисел - C++
День добрый, подскажите пожалуйста, задача следующая, имеем массив {1,2,3,9,4,5,6,9,7,8,0}, тут девятка встречается два раза, необходимо...

перебор массива по количеству вариантов событий - C++
Всем доброго времени суток! Ребят, прошу помощи в решении такой задачи или хотя бы в составлении блок-схемы, я логику теряю, получается...

Оптимизация цикла (перебор 5000000 элементов) - C++
Можно ли как-то оптимизировать данный цикл? for (i=10000000; i&lt;15000000; i++) { for (k = i, j = 0; j &lt; 8; j++, k /= 10) ...

Скорость перебор элементов vector'a и list'a - C++
Видел на форумах пишут что поиск по несортированному вектору быстрее, чем по листу. Логично предположить что все элементы вектора находятся...

Написать перебор символов в строке и сортировку массива структур - C++
Задание: заполнить массив структур (по сути - таблицу) из файла или с клавиатуры и отсортировать (в порядке возрастания или убывания) их по...


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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
10.09.2010, 17:45     Перебор элементов массива #13
Цитата Сообщение от niXman Посмотреть сообщение
кто-нибудь, объясните, что за странный мэйн?
В зависимости от того определена ли константа UNICODE:
_tmain разворачивается в main или wmain;
_TCHAR разворачивается в char или wchar_t.
Это позволяет без изменения исходного кода собирать юникодовские и неюникодовские версии приложений или библиотек.
Yandex
Объявления
10.09.2010, 17:45     Перебор элементов массива
Ответ Создать тему
Опции темы

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