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

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

Войти
Регистрация
Восстановить пароль
 
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
#1

Распознание каждого элемента масива - C++

19.03.2013, 00:58. Просмотров 331. Ответов 6
Метки нет (Все метки)

Здравствуйте. Как можно разложить массив, чтобы в дальнейшем работать с каждым элементом (нужно будет переставлять местами)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
using namespace std;
 
void masiv()
{
     int m;
     cout << "Please enter arrey size; ";
     cin >> m;
     
     int arrey[m];
     
     time_t t;
     srand((unsigned) time(&t));
     
    for(int i = 0; i < m; i++)
    { 
            arrey[m] = rand()%100;
            
            cout << arrey[m] << " ; ";
    }
};
 
 
int main()
{
    masiv();
    
    
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 00:58     Распознание каждого элемента масива
Посмотрите здесь:

Удаление каждого второго элемента линейного списка C++
C++ В целочисленный массив X(n) после каждого нечетного элемента
Найти сумму элементов масива, которые находятся до максимального элемента C++
C++ Найти количество положительных элементов, что распологаются после минимального элемента числового масива
C++ Получить новую матрицу путем вычитания из каждого элемента данной матрицы ее наименьшего элемента
C++ Нахождение максимального элемента каждого столбца массива
C++ Найти количество повторений каждого элемента массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnsKneD
алкокодер
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
19.03.2013, 02:14     Распознание каждого элемента масива #2
Цитата Сообщение от mster-doc Посмотреть сообщение
C++
1
cin >> m; int arrey[m];
Так нельзя делать, используйте оператор new для динамического выделения памяти.

Цитата Сообщение от mster-doc Посмотреть сообщение
C++
1
for(int i = 0; i < m; i++) { arrey[m] = rand()%100; cout << arrey[m] << " ; "; }
Тут вообще ерунда полная написана, что вы заполняете в цикле m элемент, m раз?

Не понятно зачем что то раскладывать, если можно обращаться к каждому элементу массива
C++
1
2
3
int A[2] = {1,5};
int tmp = A[1];
std::cout << tmp;
или
C++
1
2
3
for(int i = 0; i<2; i++){
     std::cout << A[i];
}
И ещё, если хотите использовать функцию, передавайте ей массив по ссылке либо указателю.
Крайне глупо объявлять массив в функции, её ведь нельзя будет использовать для других массивов.
MrGluck
Ворчун
Эксперт CЭксперт С++
6407 / 3605 / 448
Регистрация: 29.11.2010
Сообщений: 9,531
19.03.2013, 02:19     Распознание каждого элемента масива #3
Цитата Сообщение от UnsKneD Посмотреть сообщение
Так нельзя делать
Если конечно речь идет не о VLA. А так нельзя конечно.
Цитата Сообщение от mster-doc Посмотреть сообщение
нужно будет переставлять местами
std::swap доступ к каждому элементу (оператор []) массив предоставляет. Проблем быть не должно.

Добавлено через 49 секунд
P.S. array
UnsKneD
19.03.2013, 02:27
  #4

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
Если конечно речь идет не о VLA. А так нельзя конечно.
Что это за штука? Можно ссылочку? Я что то не нагуглил ничего.

MrGluck
Ворчун
Эксперт CЭксперт С++
6407 / 3605 / 448
Регистрация: 29.11.2010
Сообщений: 9,531
19.03.2013, 15:43     Распознание каждого элемента масива #5
Цитата Сообщение от UnsKneD Посмотреть сообщение
Что это за штука? Можно ссылочку? Я что то не нагуглил ничего.
Особенность mingw и gcc, позволяет делать такие вещи:
C++
1
2
3
int m;
std::cin >> m;
int a[m];
т.е. создавать массивы, размер которых известен во время выполнения, но не известен во время компиляции.
Лучше всего поиском по этому форуму. Вот тут подробное обсуждение, например

Добавлено через 1 минуту
Кстати, в С99 является частью стандарта.
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
20.03.2013, 00:51  [ТС]     Распознание каждого элемента масива #6
Не, ну это понятно, ну а если к примеру элементов в массиве 100, то немного не очень удобно будет перебирать все 100 элементов в ручную.
Сядь в том, что нужно упорядочить массив, чтобы цифры по порядку шли а не например (10, 5, 11, 4).
Можно конечно ,по порядку в ручную каждое с последующим сравнивать, но может кто знает более цивилизованный способ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2013, 01:15     Распознание каждого элемента масива
Еще ссылки по теме:

C++ Проверка каждого элемента массива
C++ Удаление каждого M-го элемента списка
Высчитать среднее арифметическое элементов масива без учета минимального и максимального элемента C++
Заполнение масива по формуле и нахождение наименьшего положительного элемента масива C++
C++ Вычесть из каждого элемента последовательности последний

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

Или воспользуйтесь поиском по форуму:
UnsKneD
алкокодер
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
20.03.2013, 01:15     Распознание каждого элемента масива #7
mster-doc, да, называется сортировка, и алгоритмов вагон, поищите тут на форуме.
Перебирать можно циклом.
Yandex
Объявления
20.03.2013, 01:15     Распознание каждого элемента масива
Ответ Создать тему
Опции темы

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