Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
1

Вопросы по массивам

12.03.2012, 08:06. Просмотров 730. Ответов 11
Метки нет (Все метки)

Напишу сюда. Не стал создавать тему.
Если что не так извините.

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) - или это только деление?
Заранее спасибо за ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 08:06
Ответы с готовыми решениями:

по массивам
Для одномерного массива, состоящего из n вещественных чисел: а) найти...

По массивам...
Задан случайный массив. Нужно получить без повторений элементы, встречающиеся в...

По массивам....
Добрый вечер:).На носу итоговая сессия, к сожалению для допуска на нее не могу...

Подскажите по массивам
Всем привет! Пишу игру для платформы Bada=) Суть проблемы: есть 2 класса. Из...

задачи по массивам
Доброго времени суток! Помогите с решением. Нужно использовать массивы. ...

11
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
12.03.2012, 10:06 2
Цитата Сообщение от rentg Посмотреть сообщение
Что задается массив из 5 чисел. Но отчет же идет от 0,,,, в компьютере.
что сказать-то хотел? Сформулируй нормально вопрос.

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

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

Цитата Сообщение от rentg Посмотреть сообщение
( sum / 5) - или это только деление?
да, деление sum на пять
0
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.
Как они связаны друг с другом.
Объясните пожалуйста если Вам не сложно.
0
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
12.03.2012, 12:22 4
rentg, По индексу берется элемент в массиве.
0
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
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;
0
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:31  [ТС] 6
Nameless One. Спасибо большое.
Если что можно будет с вопросами?
0
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
12.03.2012, 12:35 7
rentg, если вопросы по другой теме — создавай новую тему. Если нет — пиши тут
0
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 () ?
0
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
12.03.2012, 12:39 9
rentg, ну у тебя там и так без for.
1
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 () такое усложнение?
0
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
12.03.2012, 12:44 11
Цитата Сообщение от rentg Посмотреть сообщение
и вопрос напрашивается почему тогда условие for () такое усложнение?
а ты представь, что у тебя не пять элементов в массиве, а десять тысяч. Ты тоже будешь без for вручную выписывать каждый элемент массива?
Или, например, ты не знаешь число элементов заранее.
1
rentg
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 9
12.03.2012, 12:46  [ТС] 12
Nameless One. Спасибо БОЛЬШОЕ ВАМ.
Для себя час выпишу в тетрадь) все что написано выше.
0
12.03.2012, 12:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 12:46

Лабораторная по массивам
Дан одномерный массив А, состоящий из N элементов. Переписать в одномерный...

Задача по массивам
День добрый друзья. Помогите пожалуйста с задачей. Вроде по коду правильно, но...

Задачи по массивам
короч котаны есть проблема плохо разбираюсь в массивах, помогите кто чем смоЖет...


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

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

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