С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Timurcpp
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 36
#1

Нужен пример с массивами - C++

14.03.2014, 21:30. Просмотров 2955. Ответов 28
Метки нет (Все метки)

Не могу догнать, зачем нужен массив конкретно.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2014, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужен пример с массивами (C++):

Программа с Массивами, нужен код - C++
Дано одномерный массив целых чисел A размерности N (размерность и элементы массива ввести с клавиатуры). Найти количество отрицательных...

Нужен пример цикла while - C++
Помогите решить задачку или хотябы обьясните как делать а то сижу и думаю как это так реализовать

Нужен пример интерфейса - C++
Помагите нужен пример интерфейса на С++. В заранее благодарен.

Нужен пример хэширования - C++
Здравствуйте! Ни как не могу понять хэширование,если не трудно, то напишите какие нибудь простейшие примеры реализации. Заранее благодарю!

Нужен пример класса - C++
Привести пример класса для работы с комплексными числами и содержащего перегруженную операцию для вычитания комплексных чисел.

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

28
Fene4ka_
91 / 91 / 16
Регистрация: 24.01.2014
Сообщений: 1,215
14.03.2014, 21:47 #2
Timurcpp, допустим, вам нужно хранить где-то в программе 100 имен, как вы будете это делать без массива ?
или допустим вам нада реализовать алгоритм флойда, как вы это сделайте без массива ?
1
Timurcpp
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 36
14.03.2014, 22:25  [ТС] #3
Цитата Сообщение от Fene4ka_ Посмотреть сообщение
Timurcpp, допустим, вам нужно хранить где-то в программе 100 имен, как вы будете это делать без массива ?
или допустим вам нада реализовать алгоритм флойда, как вы это сделайте без массива ?
Это я понимаю, а что еще кроме этого он выполняет?
0
saden
183 / 167 / 41
Регистрация: 27.01.2013
Сообщений: 788
14.03.2014, 22:28 #4
Цитата Сообщение от Timurcpp Посмотреть сообщение
Это я понимаю, а что еще кроме этого он выполняет?
Массив ничего не выполняет. Он позволяет хранить несколько однотипных данных под одним именем и получать доступ к ним через "разыменование": массив[N]
1
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
14.03.2014, 22:32 #5
C++
1
2
3
4
5
6
7
8
9
10
11
// Переменные
int i = 1;
int i1 = 2;
int i2 = 3;
int i3 = 4;
 
 
// Массив
int mas[4];
for (int i = 0; i < 4; i++)
   mas[i] = i;
Вроде, ясно же всё
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 12.06.2012
Сообщений: 19,879
Завершенные тесты: 1
14.03.2014, 22:35 #6
Если простым языком, то можно как-то так:
Обычное яблоко - это обычный элемент.
Корзина с яблоками - это массив
0
Timurcpp
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 36
14.03.2014, 22:40  [ТС] #7
Цитата Сообщение от saden Посмотреть сообщение
Массив ничего не выполняет. Он позволяет хранить несколько однотипных данных под одним именем и получать доступ к ним через "разыменование": массив[N]
Можете пример написать массива с циклом

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
Если простым языком, то можно как-то так:
Обычное яблоко - это обычный элемент.
Корзина с яблоками - это массив
Интересное мышление у вас, хороший подход к вопросу
0
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
14.03.2014, 22:44 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main() {
    int mas[10];
 
    for (int i = 0; i < 10; i++){
        std::cout << "mas[" << i+1 << "]: ";
        std::cin >> mas[i];
    }
 
    for (int i = 0; i < 10; i++){
        std::cout << "mas[" << i+1 << "]: ";
        std::cout << mas[i] << std::endl;
    }
 
        std::cin.get();
    std::cin.get();
    return 0;
}
И не нужно 10 переменных
0
Timurcpp
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 36
14.03.2014, 22:47  [ТС] #9
Цитата Сообщение от recoder Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
// Переменные
int i = 1;
int i1 = 2;
int i2 = 3;
int i3 = 4;
 
 
// Массив
int mas[4];
for (int i = 0; i < 4; i++)
   mas[i] = i;
Вроде, ясно же всё
Да нет, все вроде бы понятно, но и не понятно тоже. Я только вторую неделю учу С++, темный лес, честное слово.
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 12.06.2012
Сообщений: 19,879
Завершенные тесты: 1
14.03.2014, 22:49 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Timurcpp Посмотреть сообщение
подход к вопросу
Его можно развить и еще дальше.
Например, то, как зачастую объявляют кучу переменных - и аналогичный вариант с массивом.
Возьмем тот же пример с яблоками.
Например, у нас есть две программы, которые просто выводят артикулы яблок (для простоты)
Вариант без массива будет выглядеть как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main(int argc, char *argv[])
{
    int apple1, apple2, apple3, apple4, apple5;
    apple1 = 124;
    apple2 = 134;
    apple3 = 143;
    apple4 = 543;
    apple5 = 123;
 
    std::cout << "Apple 1: " << apple1 << std::endl;
    std::cout << "Apple 2: " << apple2 << std::endl;
    std::cout << "Apple 3: " << apple3 << std::endl;
    std::cout << "Apple 4: " << apple4 << std::endl;
    std::cout << "Apple 5: " << apple5 << std::endl;
 
    return 0;
}
Вариант с массивом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
const int N = 5;
 
int main(int argc, char *argv[])
{
    int apples[N];
    apples[0] = 124;
    apples[1] = 134;
    apples[2] = 143;
    apples[3] = 543;
    apples[4] = 123;
 
    std::cout << "Apple 1: " << apple[0] << std::endl;
    std::cout << "Apple 2: " << apple[1] << std::endl;
    std::cout << "Apple 3: " << apple[2] << std::endl;
    std::cout << "Apple 4: " << apple[3] << std::endl;
    std::cout << "Apple 5: " << apple[4] << std::endl;
 
    return 0;
}
Вроде бы "тоже самое". Однако, объединение в массив позволяет нам выполнять дополнительные операции более просто. Например, предыдущий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
const int N = 5;
 
int main(int argc, char *argv[])
{
    int apples[N];
 
    apples[0] = 124;
    apples[1] = 134;
    apples[2] = 143;
    apples[3] = 543;
    apples[4] = 123;
 
    for(size_t i = 0; i < N; ++i)
        std::cout << "Apple " << i + 1 << ": " << apple[i] << std::endl;
 
    return 0;
}
Уже намного короче, и более "динамически".. Если переводить на тот пример с яблоками и корзинами - то в случае не использования массивов вы определяете уникальные имена для яблок (красное_яблоко_1, зеленое_яблоко_2, ....), в случае использования массивов - все проще, в какой-то степени (первое яблоко, которое достали; второе яблоко, которое достали; третье яблоко, ....). В общем, массивы удобны тогда, когда у вас много однотипных элементов, которые вы храните. Особенно удобно, если у вас в планах какая-то общая задача для выполнения над ними. Не отходя далеко от примера с яблоками: вы хотите съесть все яблоки. Все просто
C++
1
2
3
....
while(i != 0) //пока еще есть яблоки в корзине
    eat_apple(apple[i--]); //обжираемся и соответственно уменьшаем счетчик яблок в корзине)
1
saden
183 / 167 / 41
Регистрация: 27.01.2013
Сообщений: 788
15.03.2014, 09:25 #11
можно представить массив, как фотопленку. Ячейка массива - это кадр. Номер кадра - номер ячейки. Картинка в кадре № х - это содержимое ячейки массива. Переход к ячейке х+1 - переход к следующему кадру. Первый и последний кадры - границы массива.
0
kotgav
2 / 2 / 0
Регистрация: 13.07.2013
Сообщений: 62
17.03.2014, 19:22 #12
Можете подсказать, а как инициализировать элементы массива значениями переменных, которые считываются из файла?
Допустим, в примере KOPOJI:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
const int N = 5;
 
int main(int argc, char *argv[])
{
    int apples[N];
 
    apples[0] = 124;
    apples[1] = 134;
    apples[2] = 143;
    apples[3] = 543;
    apples[4] = 123;
 
    for(size_t i = 0; i < N; ++i)
        std::cout << "Apple " << i + 1 << ": " << apple[i] << std::endl;
 
    return 0;
}
значения
C++
1
2
3
4
5
apples[0] = 124;
    apples[1] = 134;
    apples[2] = 143;
    apples[3] = 543;
    apples[4] = 123;
находятся в стороннем текстовом файле, который я построчно читаю.
Тогда надо в массиве использовать только идентификаторы? Примерно так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
const int N = 5;
 
int main(int argc, char *argv[])
{
    int apples[N];
 
    apples[0] = a0;
    apples[1] = a1;
    apples[2] = a2;
    apples[3] = a3;
    apples[4] = a4;
 
    for(size_t i = 0; i < N; ++i)
        std::cout << "Apple " << i + 1 << ": " << apple[i] << std::endl;
 
    return 0;
}
А значения a0-a4 последовательно присваивать элементам массива при чтении файла?
Можно ли так делать?
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,250
17.03.2014, 19:31 #13
Цитата Сообщение от KOPOJI Посмотреть сообщение
C++
1
2
3
4
5
6
 int apple1, apple2, apple3, apple4, apple5;
    apple1 = 124;
    apple1 = 134;
    apple1 = 143;
    apple1 = 543;
    apple1 = 123;
Эт ты здорово объяснил
тоже болезнь "копи-пасте"

Добавлено через 2 минуты
kotgav,
как считать значения из файла знаешь?
1
KOPOJI
17.03.2014, 19:34
  #14

Не по теме:

ValeryS, спасибо, исправил. Думаю, это даже в плюс, что я ошибся - более наглядна возможность ошибиться и запутаться в названиях переменных любому человеку А объяснил как сумел Можете объяснить лучше и понятнее - я буду только за

0
saden
183 / 167 / 41
Регистрация: 27.01.2013
Сообщений: 788
17.03.2014, 19:42 #15
Цитата Сообщение от kotgav Посмотреть сообщение
Можете подсказать, а как инициализировать элементы массива значениями переменных, которые считываются из файла?
Смотря как читается файл. Основная идея:
цикл до конца файла
{
чтение из файла -> в переменную х
присваивание х очередному элементу массива
}
1
17.03.2014, 19:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2014, 19:42
Привет! Вот еще темы с ответами:

Нужен пример вычисления матрицы - C++
Пожалуйста скиньте кто-нибудь программу, которая считает матрицы! Оригинал: будьласка скиньте хтонебудь програму яка рахує матриці! ...

Нужен пример работы с матрицами - C++
Как сделать матрицы в C++? Привидите хоть небольшой пример.

Массивы и указатели - нужен пример - C++
любые задания на тему массивы и указатели завтра сдавать очень нуна!!!!

Нужен пример работы со структурами - C++
Здравствуйте, не могли ли вы мне привести пример простой программы, в которой происходят простые действия, в которой присутствует структура...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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