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

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

Войти
Регистрация
Восстановить пароль
 
Anastasia777
1 / 1 / 0
Регистрация: 23.09.2012
Сообщений: 59
#1

Не понятны некоторые строки программы(массивы, наименьшее число массива),посмотрите пожалуйста - C++

30.09.2012, 12:06. Просмотров 272. Ответов 3
Метки нет (Все метки)

вот код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
const int n=10;
int main()
{
   int mas[10]; 
   int i;
   for(int i=0;i<n;i++)
    {
     cout<<"Enter "<<i<<" element masiva: ";cin>>mas[i];
    }
    int min=mas[0];
    for(int i=0;i<n;i++)
    {
     if(mas[i]<min) min=mas[i];
    }
    cout<<"Minimalnuy element: "<<min<<endl;
    getch();
    return 0;
}

Вот что непонятно:
1.cin>>mas[i];-- что в скобках ?понимаю.что вводим элементы массива, но не пойму почему там i?
2.int min=mas[0];
3.if(mas[i]<min) min=mas[i];


Помогите новичку разобраться,пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2012, 12:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не понятны некоторые строки программы(массивы, наименьшее число массива),посмотрите пожалуйста (C++):

Не понятны некоторые строчки в проге( - C++
Вот есть код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class A {private: //закритий...

Объясните пожалуйста что означают некоторые строки - C++
1) while ((((*(string1 + i)!=0)) || ((*(string2 + i) != 0))) &amp;&amp; (i&lt;n)) что означает string1 + i? 2) if (*(array + i*n + i) &gt; mx) и...

Не понятны размеры массива (циклы) - C++
for(int i=0;i&lt;b-j;i++) for(int j=0;j&lt;a-i-1;j++) for(q=0;q!=a-i-1;q++) cout&lt;&lt;mas3&lt;&lt;&quot;.&quot;; какой сдесь размер...

Не понятны некоторые части часть программы - Java SE
class Triangle { double area; int height; int length; public static void main(String args) { int x = 0; Triangle ta = new...

Не понятны некоторые тригонометрические уравнения - Математика
Здравствуйте, не понимаю, в чем проблема - вроде решаю правильно, а ответ неверный. есть два похожих уравнения. \sqrt{7}sin(x) +...

Посмотрите,пожалуйста, верна ли часть программы ? - Assembler
суть: выводить в порт вывода значения, лежащие в интервале. На порт 3 приходят значения. В регистре Е сидит значение верхней границы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.09.2012, 12:12 #2
1) в скобках индекс массива ( номер элемента)
2) переменной min присваивается первый элемент массива
3) если элемент массива с индексом i меньше переменной min, min присваивается этот элемент
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
30.09.2012, 12:12 #3
1. Для 0 <= i < 10 заполняется элемент массива под номером i
2. Сначала предполагаем что минимальный элемент с индексом 0
3. Потом для каждого элемента проверяем меньше ли он предыдущего. Если меньше то в min записывается его значение.
Gooman
10 / 10 / 0
Регистрация: 03.10.2010
Сообщений: 350
30.09.2012, 12:17 #4
Цитата Сообщение от Anastasia777 Посмотреть сообщение
cin>>mas[i];-- что в скобках ?понимаю.что вводим элементы массива, но не пойму почему там i?
Здесь в квадратных скобках указывается индекс (номер числа по порядку от начала) в массиве. Как видно, с C++ массивы нумеруются от нуля (1-й элемент - ноль, 2-й - один и т.д.).
Т.е. cin>>mas[i] - ввод текущего (i) элемента массива (см. цикл for над этой командой).
Почему там i? Массив - последовательность чисел. И чтобы обратиться к какому-то элементу массива, используется порядковый номер этого элемента. i - текущий порядковый номер, он изменяется в цикле, пока не будет равен размеру массива.

Цитата Сообщение от Anastasia777 Посмотреть сообщение
int min=mas[0];
Здесь мы изначально, чтобы найти минимальный элемент в массиве, предполагаем, что он первый. Как я уже написал выше, массивы в C++ нумеруются с нуля.

Цитата Сообщение от Anastasia777 Посмотреть сообщение
if(mas[i]<min) min=mas[i];
Если текущий элемент mas[i] меньше, чем минимальный, то нужно сделать этот элемент минимальным (на самом деле код выглядит гораздо четче и понятнее моих слов).
Как я написал выше, мы предположили, что первый элемент массива минимальный, ну а дальше он сам найдется.

В следующий раз, пожалуйста, выделяй свой вставленный код, нажимай на панели текста (над полем для ввода сообщения) кнопку "C++". Так будет синтаксис подсвечиваться и будет легко разобрать код.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2012, 12:17
Привет! Вот еще темы с ответами:

Массив: вычесть из всех членов последовательности наибольшее число массива, если а3 > а5, иначе - наименьшее число массива. - Pascal ABC
Даны действительные числа а1 ... а10 . Требуется вычесть из всех членов последовательности наибольшее число массива, если а3 &gt; а5, иначе -...

Посмотрите пожалуйста задание и код программы. Подскажите, что изменить, запускается, работает, но не правильно - C++ Builder
Вот задание. Дан текст, содержащий от 2 до 40 слов, в каждом из которых от 1 до 6 строчных латинских букв; между соседними словами – не...

Массивы. Найти наименьшее среди тех элементов массива X, которые не являются элементами массива Y - Turbo Pascal
даны два целочисленных массива.найти наименьшее среди тех элементов массива X,которые не являются элементами массива Y

Немогу написать программы (не понятны алгоритм действий) - Delphi
1) Даны действительные числа: x1, y1. x2, y2,...,x20, y200, r1,...,r11 (0&lt;r1 &lt;r2&lt;...&lt;r11). Пары (х1, у1),...,(х20, у20) рассматриваются...


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

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

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