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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Stl контейнеры. Найти маршруты, на которых ходит только одна марка автоб http://www.cyberforum.ru/cpp-beginners/thread1119399.html
дана структура struct Bus { int route ; // номер маршрута string name ; // имя автобуса int numb; // номер автобуса string mark; //марка автобуса
C++ Самое длинное слово и его позиция День добрый. Помогите, пожалуйста... Задача: найти самое длинное слово из строки и его позицию (номер слова в строке). В своем коде работает нахождение слова, но про позицию запутался, хотел разбить строку на массив, чтобы найти позицию, но в массив лезет только первое слово. Код: #include <iostream> #include "conio.h" #include "stdio.h" http://www.cyberforum.ru/cpp-beginners/thread1119384.html
Найти значение функции C++
Помогите составить код, сам как смог сделал, но пишет какую то ошибку, опыта совсем нет:( http://gyazo.com/70d769f067985eef9a369b7b2dcdca00 //lab1.cpp// #include <iostream> #include <math.h> using namespace std; int main() { int x,y;
Сжатие последовательности символов C++
Всем привет. Дан текст. Если один и тот же символ x встречается 5 раз подряд, то эти 5 символов будут заменены на конструкцию (5)x. Например: abcccccde преобразуется в ab(5)cde. Помогите найти ошибку в программе (или может можно как-то ещё проще это реализовать): #include "stdafx.h" #include <iostream> #include <string.h>
C++ Найти наибольший общий делитель и наименьшее общее кратное двух введенных натуральных чисел http://www.cyberforum.ru/cpp-beginners/thread1119331.html
Напишите пожалуйста код =)
C++ Найти, сколько должен заплатить в кассу покупатель с учетом скидок Фирма, которая производит определенные товары, предлагает предпраздничные скидки покупателям при покупке товаров в фирменном магазине в зависимости от общей стоимости приобретенной покупки: при общей стоимости, меньшей 100 грн., Скидка не предоставляется, от 100 до 300 грн. - Скидка составляет 2% общей стоимости, от 300 до 500 грн. - 5% общей стоимости, от 500 до 1000 грн. - 8% общей стоимости,... подробнее

Показать сообщение отдельно
KOPOJI
Модератор
 Аватар для KOPOJI
16239 / 6450 / 389
Регистрация: 12.06.2012
Сообщений: 19,326
14.03.2014, 22:49     Нужен пример с массивами
Цитата Сообщение от 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--]); //обжираемся и соответственно уменьшаем счетчик яблок в корзине)
 
Текущее время: 10:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru