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

Вопросы по массивам - C++

Восстановить пароль Регистрация
 
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 08:06     Вопросы по массивам #1
Напишу сюда. Не стал создавать тему.
Если что не так извините.

C++
1
2
3
4
5
6
7
#include <iostreame>
using namespace std;
int main () { double tmp[5]={36.6, 36.9, 37.3, 38.3, 38.5};
double sum;
for (int i=0; i<5; i++)
sum+ = tmp[i];
cout<<"Среднее="<<sum / 5<<endl; }
Добрый день.
Сам изучаю по книге С++. Не могу понять до канца массивы.
В книге наипсано что по этому примеру. Что задается массив из 5 чисел. Но отчет же идет от 0,,,, в компьютере.
И второй вопрос: в книге не написано ( tmp[i] ) как ее понять. и ( sum / 5) - или это только деление?
Заранее спасибо за ответ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 08:06     Вопросы по массивам
Посмотрите здесь:

По массивам... C++
C++ лаба по массивам
Вопрос по массивам С++ C++
Вопрос по Массивам. C++
C++ Лабораторная по массивам
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
12.03.2012, 10:06     Вопросы по массивам #2
Цитата Сообщение от rentg Посмотреть сообщение
Что задается массив из 5 чисел. Но отчет же идет от 0,,,, в компьютере.
что сказать-то хотел? Сформулируй нормально вопрос.

И да, в компьютере вообще массивов нету, это абстракция ЯП.

Цитата Сообщение от rentg Посмотреть сообщение
в книге не написано ( tmp[i] ) как ее понять
получение i-того элемента массива tmp

Цитата Сообщение от rentg Посмотреть сообщение
( sum / 5) - или это только деление?
да, деление sum на пять
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:19  [ТС]     Вопросы по массивам #3
с номером массива разобрался сори, сам уж не понял полностью.)

Остается вопрос с
for (int i=0; i<5; i++)
sum+ = tmp[i];

условие понятно что i=0 i<5 i=i+1
но в формуле не могу понять
sum=sum + tmp [ i ]-> tmp [ i ]-вот эту часть. Почему массив и значение i.
Как они связаны друг с другом.
Объясните пожалуйста если Вам не сложно.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.03.2012, 12:22     Вопросы по массивам #4
rentg, По индексу берется элемент в массиве.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
12.03.2012, 12:24     Вопросы по массивам #5
rentg, i в цикле пробегает все возможные значения индексов массива tmp. Т.е. для масссива из пяти элементов:
C++
1
double tmp[5]={36.6, 36.9, 37.3, 38.3, 38.5};
возможными значениями индексов будут 0, 1, 2, 3, 4 (т.к. индексация начинается с нуля)

В цикле для всех i из набора 0, 1, 2, 3, 4 происходит суммирование i-того элемента массива. Т.е. цикл аналогичен:
C++
1
sum = tmp[0] + tmp[1] + tmp[2] + tmp[3] + tmp[4];
или
C++
1
sum = 36.6 + 36.9 + 37.3 + 38.3 + 38.5;
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:31  [ТС]     Вопросы по массивам #6
Nameless One. Спасибо большое.
Если что можно будет с вопросами?
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
12.03.2012, 12:35     Вопросы по массивам #7
rentg, если вопросы по другой теме — создавай новую тему. Если нет — пиши тут
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:37  [ТС]     Вопросы по массивам #8
C++
1
2
3
4
5
6
#include <iostreame>
using namespace std;
int main () { double tmp[5]={36.6, 36.9, 37.3, 38.3, 38.5};
double sum;
sum+ = tmp[0] + tmp[1] + tmp[2] + tmp[3] + tmp[4];
cout<<"Среднее="<<sum / 5<<endl; }
А можно не используя For () ?
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
12.03.2012, 12:39     Вопросы по массивам #9
rentg, ну у тебя там и так без for.
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:42  [ТС]     Вопросы по массивам #10
C++
1
2
3
4
5
6
7
#include <iostreame>
using namespace std;
int main () { double tmp[5]={36.6, 36.9, 37.3, 38.3, 38.5};
double sum;
for (int i=0; i<5; i++)
sum+ = tmp[i];
cout<<"Среднее="<<sum / 5<<endl; }
я как вариант хотел предложит можно ли не используя for ().

C++
1
2
3
4
5
6
#include <iostreame>
using namespace std;
int main () { double tmp[5]={36.6, 36.9, 37.3, 38.3, 38.5};
double sum;
sum+ = tmp[0] + tmp[1] + tmp[2] + tmp[3] + tmp[4];
cout<<"Среднее="<<sum / 5<<endl; }
и вопрос напрашивается почему тогда условие for () такое усложнение?
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
12.03.2012, 12:44     Вопросы по массивам #11
Цитата Сообщение от rentg Посмотреть сообщение
и вопрос напрашивается почему тогда условие for () такое усложнение?
а ты представь, что у тебя не пять элементов в массиве, а десять тысяч. Ты тоже будешь без for вручную выписывать каждый элемент массива?
Или, например, ты не знаешь число элементов заранее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 12:46     Вопросы по массивам
Еще ссылки по теме:

Подскажите по массивам C++
Учебник по массивам C++
C++ по массивам

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

Или воспользуйтесь поиском по форуму:
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:46  [ТС]     Вопросы по массивам #12
Nameless One. Спасибо БОЛЬШОЕ ВАМ.
Для себя час выпишу в тетрадь) все что написано выше.
Yandex
Объявления
12.03.2012, 12:46     Вопросы по массивам
Ответ Создать тему
Опции темы

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