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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Timurcpp
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 36
14.03.2014, 21:30     Нужен пример с массивами #1
Не могу догнать, зачем нужен массив конкретно.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2014, 21:30     Нужен пример с массивами
Посмотрите здесь:

Нужен пример интерфейса C++
Нужен пример работы с матрицами C++
C++ C++ строки нужен хотябы пример
Нужен пример хэширования C++
C++ Нужен пример использование паттернов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
17.03.2014, 20:32     Нужен пример с массивами #21
Прекрасные объяснения, осталось разбавить их практикой.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,348
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;
}

Не по теме:

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

ValeryS
17.03.2014, 20:51
  #23

Не по теме:

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

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 символов мне и надо присвоить массиву.
KOPOJI
17.03.2014, 20:53
  #25

Не по теме:

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

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;
}
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,348
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;
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
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 Посмотреть сообщение
но это долго и нудно
все дело в том что это долго и нудно программисту, писать много
а для процессора само то
нет ветвлений нет переходов назад
линейный код выполнится намного быстрее чем цикл

один из приемов оптимизации кода, развертка циклов называется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 18:47     Нужен пример с массивами
Еще ссылки по теме:

C++ Нужен пример турнирной сортировки
C++ Нужен пример класса
Нужен пример классов C++

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

Или воспользуйтесь поиском по форуму:
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-контейнера, текстовый файл в ней является текстовым ресурсом. А при таком способе возможно считывание только всего текста как единой строки.
Но мне главное было узнать, в принципе можно ли создавать массив без инициализации и как потом инициализировать члены массива значениями из текстового файла.
Пока понятно, провожу эксперименты, а там видно будет.
Еще раз спасибо за пояснения!
Yandex
Объявления
18.03.2014, 18:47     Нужен пример с массивами
Ответ Создать тему
Опции темы

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