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

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

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

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

14.03.2014, 21:30. Просмотров 2597. Ответов 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
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
17.03.2014, 20:03 #16
Цитата Сообщение от KOPOJI Посмотреть сообщение
....
while(i != 0) //пока еще есть яблоки в корзине
* * eat_apple(apple[i--]); //обжираемся и соответственно уменьшаем счетчик яблок в корзине)
Первый(0-ой) элемент не будет съеден
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
17.03.2014, 20:08 #17
Цитата Сообщение от MarVaL Посмотреть сообщение
Первый(0-ой) элемент не будет съеден
можно поправить условие
C++
1
2
while(i >= 0) //пока еще есть яблоки в корзине
    eat_apple(apple[i--]); //обжираемся и соответственно уменьшаем счетчик яблок в корзине)
1
KOPOJI
17.03.2014, 20:14
  #18

Не по теме:

MarVaL, это был образный пример, понятный для человека, а не рассчитанный на нумерацию массивов в данном ЯП.

0
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
17.03.2014, 20:15 #19
Цитата Сообщение от KOPOJI Посмотреть сообщение
MarVaL, это был образный пример, понятный для человека, а не рассчитанный на нумерацию массивов в данном ЯП.
Это раздел С++. Смотрите внимательнее пожалуйста.
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
17.03.2014, 20:21 #20
Timurcpp,
попытаюсь еще интересней объяснить, тем более впереди у тебя двумерные, трехмерные массивы
представь себе улицу, на улице дома, в домах квартиры
так вот улица это массив домов, линейный это значит друг за другом дома идут
дома массив квартир
и ты пишешь адрес ул Массив дом 2 кв 3
в программировании это будет так arr[2][3];
если нужен дом то просто arr[2]

но дом представить массивом подъездов а подъезд массивом квартир и мы получаем 3х мерный массив
адрес уже надо писать так ул Массив дом 2 подъезд 1 квартира в подъезде 3
тогда arr[2][1][3];
а если подъезд это массив этажей а этажи массив квартир то получим 4х мерный массив
адрес уже надо писать так ул Массив дом 2 подъезд 1 этаж 3 квартира на этаже 3
arr[2][1][3][3];

есть еще одна тонкость человек считает от 1 а машина от 0
тогда ул Массив дом 1
на машинный язык переведется как arr[0]
1
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
17.03.2014, 20:32 #21
Прекрасные объяснения, осталось разбавить их практикой.
0
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,879
Завершенные тесты: 1
17.03.2014, 20:43 #22
Цитата Сообщение от MarVaL Посмотреть сообщение
Это раздел С++
И что? Из-за этого я не имею права объяснять "на пальцах" ?
Цитата Сообщение от MarVaL Посмотреть сообщение
Смотрите внимательнее пожалуйста
Как скажете.
Так пойдет?
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>
#include <sstream>
 
const int NUM_APPLES = 10; //количество яблок в корзине-массиве
 
void eat_apple(int, std::string);
 
int main(int argc, char *argv[])
{
    std::string apples[NUM_APPLES];
 
    int i;
 
    for(i = 0; i < NUM_APPLES; ++i) //укладываем наши яблоки в корзину
    {
        std::stringstream tmp;
        tmp << "apple #" << i;
        apples[i] = tmp.str();
    }
 
    i = NUM_APPLES;
 
    while(--i >= 0) //пока еще есть яблоки в корзине
        eat_apple(i + 1, apples[i]); //кушаем..
 
    return 0;
}
 
void eat_apple(int n, std::string apple)
{
    std::cout << "Съели яблоко №" << n << '(' << apple << ')' << std::endl;
}

Не по теме:

самое интересное, что я и правда сейчас ем яблоко)))

1
ValeryS
17.03.2014, 20:51
  #23

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
самое интересное, что я и правда сейчас ем яблоко)))
из массива? сиречь из корзины?

0
kotgav
2 / 2 / 0
Регистрация: 13.07.2013
Сообщений: 62
17.03.2014, 20:52 #24
ValeryS, saden, большое спасибо за ответы!
Файл читаю так:
считываю весь текст полностью как строку типа std::string. Затем из этой строки читаю (копирую) нужный параметр, вот так:
C++
1
strGeoMos.assign(GeoDataMosTXT, (NumStrGeoMos*37)+18, 17);
здесь NumStrGeoMos - номер строки текста, 18 - начальное положение курсора, 17 - длина параметра.
И вот его из каждой строки длиной по 37 символов мне и надо присвоить массиву.
0
KOPOJI
17.03.2014, 20:53
  #25

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
из массива? сиречь из корзины?
Почти из корзины Они в "сплетенном блюде", сиречь младший брат корзины)

0
Scriptsky
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 11
17.03.2014, 20:59 #26
Как раз хотел понять что-такое массивы. Отличное разъяснение.
А как выполнять арифметические действия с элементами массивов. Например сумму элементов здесь как найти?
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;
}
0
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,879
Завершенные тесты: 1
17.03.2014, 21:05 #27
Цитата Сообщение от kotgav Посмотреть сообщение
считываю весь текст полностью как строку типа std::string
А действительно ли есть необходимость держать в памяти все содержимое файла разом? Может, лучше нечто наподобие такого?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
 
int main(int argc, char *argv[])
{
    std::string str;
    std::ifstream f("file.txt");
 
    while (!f.eof())
    {
        std::getline(f, str);
        if(какое-то условие с str)
            std::cout << str << ' '; //какие-то действия со строкой (например, вывод)
    }
 
    f.close();
 
    return 0;
}
1
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
17.03.2014, 22:07 #28
Цитата Сообщение от Scriptsky Посмотреть сообщение
А как выполнять арифметические действия с элементами массивов. Например сумму элементов здесь как найти?
примерно вот так
C++
1
2
3
4
5
6
7
8
9
10
11
int sum=0;
sum+=mas[0];
sum+=mas[1];
sum+=mas[2];
sum+=mas[3];
sum+=mas[4];
sum+=mas[5];
sum+=mas[6];
sum+=mas[7];
sum+=mas[8];
sum+=mas[9];
Добавлено через 2 минуты
но это долго и нудно
поэтому цикл
C++
1
2
for(int i=0;i<10;i++)
 sum+=mas[i];
Добавлено через 55 минут
а почему никто не среагировал на фразу
Цитата Сообщение от ValeryS Посмотреть сообщение
но это долго и нудно
все дело в том что это долго и нудно программисту, писать много
а для процессора само то
нет ветвлений нет переходов назад
линейный код выполнится намного быстрее чем цикл

один из приемов оптимизации кода, развертка циклов называется
3
kotgav
2 / 2 / 0
Регистрация: 13.07.2013
Сообщений: 62
18.03.2014, 18:47 #29
Цитата Сообщение от KOPOJI Посмотреть сообщение
А действительно ли есть необходимость держать в памяти все содержимое файла разом? Может, лучше нечто наподобие такого?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
 
int main(int argc, char *argv[])
{
    std::string str;
    std::ifstream f("file.txt");
 
    while (!f.eof())
    {
        std::getline(f, str);
        if(какое-то условие с str)
            std::cout << str << ' '; //какие-то действия со строкой (например, вывод)
    }
 
    f.close();
 
    return 0;
}
Дело в том, что я считываю текстовый файл из DLL-контейнера, текстовый файл в ней является текстовым ресурсом. А при таком способе возможно считывание только всего текста как единой строки.
Но мне главное было узнать, в принципе можно ли создавать массив без инициализации и как потом инициализировать члены массива значениями из текстового файла.
Пока понятно, провожу эксперименты, а там видно будет.
Еще раз спасибо за пояснения!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 18:47
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
29
Yandex
Объявления
18.03.2014, 18:47
Ответ Создать тему
Опции темы

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