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

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

Войти
Регистрация
Восстановить пароль
 
Ильгиз96
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 22
#1

Прокомментировать код - C++

25.03.2014, 11:01. Просмотров 371. Ответов 10
Метки нет (Все метки)

что означают строчки начиная с int k =-1;
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
#include "iostream"
#include "math.h"
using namespace std;
int main () {
const int n = 10;
        int a[10];
        for ( int i=0; i<n; i++)
        {
 
        cout << " vvedite znachenie"<< i << "elementa massiva\n";
        cin >> a[i];
        }
        cout << "ishodny massiv\n";
        for (int i=0; i<n; i++){
            cout  <<"a["<<i<<"]="<<a[i]<<endl;
        }
        int k=-1;
        for (int i=0; i<n; i++) {
            if(a[i]>0){
                if(k!=-1) {
                    cout<<"summa 1-h polojit ilem = "<<a[k]+a[i]<<endl;
                    break;
                }
                else k=i;
            }
        }
        system ("pause");
        return (0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 11:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Прокомментировать код (C++):

Прокомментировать код - C++
Нужна помощь. Необходимо поставить комментарии к каждой строке программы. #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include...

Прокомментировать код - C++
Код писал не я, мне бы разобраться что значит та или иная строка. Буду очень благодарен если вы напишите комментарии к основным строчкам. ...

Прокомментировать код - C++
что как и для чего typedef struct{ char name; citizen_t **childs; int childs_cnt; }citizen_t citizen_t citizens; ...

Прокомментировать код - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void sort(int* m, int n); struct Notebook { int ram; ...

Прокомментировать код - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main() { int...

Прокомментировать код - C++
Прокомментируйте, пожалуйста, код. Не совсем понимаю, что происходит внутри функции rec. int a, b, k, n; void rec(int x, int...

10
Cryptoff
9 / 10 / 1
Регистрация: 18.06.2013
Сообщений: 119
25.03.2014, 11:13 #2
C++
1
int k= -1
не несёт никакой информации для Вашего массива, и не изменяется в ходе выполнения цикла.
0
Arigato
Программист
281 / 178 / 95
Регистрация: 05.12.2013
Сообщений: 682
Записей в блоге: 5
25.03.2014, 11:19 #3
Тут находят суммы положительных элементов массива с первым положительным.
0
Ильгиз96
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 22
25.03.2014, 11:30  [ТС] #4
А можете по подробнее построчно объяснить?
0
Arigato
Программист
281 / 178 / 95
Регистрация: 05.12.2013
Сообщений: 682
Записей в блоге: 5
25.03.2014, 11:35 #5
А самостоятельно разобраться не хочешь?
0
kiborgdelto
71 / 73 / 27
Регистрация: 23.03.2011
Сообщений: 141
25.03.2014, 12:24 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
k это переменная которая хранит индекс 1-го положительного элемента массива, изначально k =-1 для того чтобы сказать что 1-е положительное число не найдено
C++
1
2
3
4
5
6
 if(a[i]>0){
                if(k!=-1) {
                    cout<<"summa 1-h polojit ilem = "<<a[k]+a[i]<<endl;
                    break;
                }
                else k=i;
этот кусок говарит: если i-й элемент массива положительный и мы уже нашли один положительный элемент массива стоящий раньше i-го то вывести их сумму и выходим из цикла, иначе i-й элемент это 1-й встретившийся положительный и k=i
1
Ev_Hyper
Заблокирован
25.03.2014, 12:27 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ильгиз96,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        int k=-1;//присваиваем k число, которое точно, не является индексом массива
        for (int i=0; i<n; i++) {//перебо значений
            if(a[i]>0){//если элемент положительный
                if(k!=-1) {//если совпадение не первое
                    //в k теперь хранится индекс первого положительного
                    //выводим сумму текущего элемента и первого
                    cout<<"summa 1-h polojit ilem = "<<a[k]+a[i]<<endl;
                    //выходим из цикла
                    break;
                }
                else k=i; //иначе
            }
        }
1
ValeryS
Модератор
7020 / 5358 / 531
Регистрация: 14.02.2011
Сообщений: 18,079
25.03.2014, 12:35 #8
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
break;
а это зачем?
выскочит после первой же суммы
хотя задачу бы услышать

Добавлено через 1 минуту
Цитата Сообщение от Cryptoff Посмотреть сообщение
, и не изменяется в ходе выполнения цикла.
а это что?
Цитата Сообщение от Ильгиз96 Посмотреть сообщение
else k=i;
0
Arigato
Программист
281 / 178 / 95
Регистрация: 05.12.2013
Сообщений: 682
Записей в блоге: 5
25.03.2014, 12:44 #9
Цитата Сообщение от ValeryS Посмотреть сообщение
задачу бы услышать
Судя по коду - найти сумму двух первых положительных элементов массива.
0
Ev_Hyper
Заблокирован
25.03.2014, 12:49 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
а это зачем?
выскочит после первой же суммы
так и нужно - сумма первых двух положительных элементов

Добавлено через 35 секунд
Последний пост не заметил
0
Cryptoff
9 / 10 / 1
Регистрация: 18.06.2013
Сообщений: 119
25.03.2014, 20:10 #11
Цитата Сообщение от Arigato_RU Посмотреть сообщение
Судя по коду - найти сумму двух первых положительных элементов массива.
Нечего решать, если ничего не сказано!
0
25.03.2014, 20:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2014, 20:10
Привет! Вот еще темы с ответами:

Прокомментировать код - C++
помогите понять этот код int main(){ const int PASSWORD_LENGTH=10; const char *...

Прокомментировать код - C++
#pragma hdrstop #include &lt;conio.h&gt; #include &lt;cmath&gt; #include &lt;iostream&gt; using namespace std; int main() { int k =...

Прокомментировать код - C++
нужно описать что делают строки готовой программы #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; ...

Прокомментировать код - C++
Здравствуйте, хотелось бы спросить у старейшин, что делают каждый из блоков программы, просто самому трудно понять #include &lt;cmath&gt; ...


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

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

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