0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 22
1

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

25.03.2014, 11:01. Показов 973. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2014, 11:01
Ответы с готовыми решениями:

Прокомментировать код
Задание: Написать программу, которая считывает текст из файла и выводит на экран слова текста,...

Прокомментировать код
есть код программы, нужно объяснить её программный код. и исправить ошибки.помогите пожалуйста....

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

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

10
9 / 10 / 2
Регистрация: 18.06.2013
Сообщений: 119
25.03.2014, 11:13 2
C++
1
int k= -1
не несёт никакой информации для Вашего массива, и не изменяется в ходе выполнения цикла.
0
Программист
307 / 182 / 176
Регистрация: 05.12.2013
Сообщений: 683
Записей в блоге: 5
25.03.2014, 11:19 3
Тут находят суммы положительных элементов массива с первым положительным.
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 22
25.03.2014, 11:30  [ТС] 4
А можете по подробнее построчно объяснить?
0
Программист
307 / 182 / 176
Регистрация: 05.12.2013
Сообщений: 683
Записей в блоге: 5
25.03.2014, 11:35 5
А самостоятельно разобраться не хочешь?
0
75 / 77 / 41
Регистрация: 23.03.2011
Сообщений: 148
25.03.2014, 12:24 6
Лучший ответ Сообщение было отмечено Ильгиз96 как решение

Решение

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
Заблокирован
25.03.2014, 12:27 7
Лучший ответ Сообщение было отмечено Ильгиз96 как решение

Решение

Ильгиз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
Модератор
Эксперт по электронике
8517 / 6332 / 858
Регистрация: 14.02.2011
Сообщений: 22,020
25.03.2014, 12:35 8
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
break;
а это зачем?
выскочит после первой же суммы
хотя задачу бы услышать

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

Добавлено через 35 секунд
Последний пост не заметил
0
9 / 10 / 2
Регистрация: 18.06.2013
Сообщений: 119
25.03.2014, 20:10 11
Цитата Сообщение от Arigato_RU Посмотреть сообщение
Судя по коду - найти сумму двух первых положительных элементов массива.
Нечего решать, если ничего не сказано!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2014, 20:10

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

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

Прокомментировать код
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include &lt;stdlib.h&gt; using namespace...

Прокомментировать код
Как это работает? #include &lt;QDebug&gt; int main() { int mass; mass = 1; mass =...

Прокомментировать код
#include &lt;iostream&gt; using namespace std; static const int N = 1000; int main() { int i,...

Прокомментировать код
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;Windows.h&gt; using namespace std; void...


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

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

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