Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42

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

01.06.2012, 00:01. Показов 2631. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Может кто нибудь помочь с комментариями просто очень надо)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// x.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "stdafx.h"
#include "iostream"
using namespace std;
 
class massiv {public:
int n, *S;
massiv (int =5);
void vvod();
void vuvod();
int max();
int min();
void sort();
};
 
massiv::massiv (int nn)
{ n=nn;
S=new int [n];
}
 
void massiv::vvod()
{
    cout<<"Введите количество элементов массива: ";
    cin>>n;
    for (int i=0;i<n;i++)
    {
        cout<<"\n S["<<i<<"]=";
        cin>>S[i];
    }
}
 
void massiv::vuvod()
{
    for (int i=0;i<n;i++)
        cout<<"\t"<<S[i];
    cout<<endl;
}
 
int massiv::max ()
{
    int i;
    int N=0;
    for (i=0;i<n;i++)
        if (S[N]<S[i])
            N=i;
    return (N);
}
 
 
int massiv::min ()
{
    int i;
    int N=0;
    for (i=0;i<n;i++)
        if (S[N]>S[i])
            N=i;
    return (N);
}
 
void massiv::sort()
{
    int N,k,buf;
    for (int i=0;i<n-1;i++)
    {
        N=i;
        for (k=i+1;k<n;k++)
        if (S[k]>S[N]) N=k;
        buf=S[i];
        S[i]=S[N];
        S[N]=buf;
        
    }
}
 
void main()
{
    setlocale (LC_CTYPE,"rus");
    massiv S;
    S.vvod();
    cout<<"Максимальный элемент равен "<<S.S[S.max()]<<", его индекс: " <<S.max()<<endl;
    cout<<"Минимальный элемент равен "<<S.S[S.min()]<<", его индекс: "<<S.min()<<endl;
    cout<<"Отсортированный массив:"<<endl;
    S.sort();
    S.vuvod();
    system ("PAUSE");
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2012, 00:01
Ответы с готовыми решениями:

Прокомментировать код
Добрый вечер! Есть вопросы по коду... не понимаю некоторые строки. Их выделю розовым цветом. Буду очень благодарна!!! #include...

Прокомментировать код
что означают строчки начиная с int k =-1; #include &quot;iostream&quot; #include &quot;math.h&quot; using namespace std; int main () { const int n =...

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

28
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.06.2012, 17:10
Студворк — интернет-сервис помощи студентам
Кроме того, когда оператор бросает исклюкаку, то об этом надо знать сразу, чтоб не полноценно пользоваться, а начинать осваивать, что не возможно, исключение - сложная тема и знание их отличает знатоков от остальных, а знатоков не может быть много.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2012, 17:20
taras atavin, исключения - часть языка, и если хочешь на более-менее приличном уровне знать язык, с ними всё равно придётся рано или поздно разобраться. Штука здесь в том, что маленькие приложения, которые пишут люди, только начавшие изучать язык, вряд ли столкнутся с такой проблемой, как нехватка памяти, поэтому им знать о том, как обрабатывать исключения (в частности std::bad_alloc, которое кидает new), совсем не обязательно. А уж те, кто пишет серьёзные приложения, где проблема нехватки памяти зачастую стоит довольно остро, уж наверняка знают, как обрабатывать исключения.
Одна из проблем изучения программирования как раз в том и состоит, что часто одно цепляется за другое, возникают циклические ссылки. Простой пример - указатели и ввод данных в C. Указатели - довольно сложная тема, и за неё не принимаются сразу. Однако чтобы писать мало-мальски полезные приложения, необходимо как-то читать данные. Для этого используют scanf. Однако scanf принимает адрес переменной, в которую считывается информация. Но ведь никто не будет тянуть с вводом данных с клавиатуры до тех пор, пока не пройдут указатели. Говорят "пока пиши амперсанд, а дальше поймёшь, зачем это надо было делать".
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.06.2012, 18:21
Цитата Сообщение от silent_1991 Посмотреть сообщение
О чём я и говорю. Но вы со мной почему-то спорите.
Ты пытаешься утверждать противоположное. Память и всё, что с ней связано - внутренности уровня абстракции, с которым работают конструктор, ресайз и деструктор, выдавать их наружу нельзя. Представь себе, что в один объект завёрнут динамический массив объектов, в каждый из которых завёрнут динамический массив,
C++
1
ob=new tob[n];
, для каждого элемента вызыватеся дефолтоконструткор, а там снова
C++
1
sob=new tsob[n];
и пара миллионов из них бросит по исклюкаке. Какая подсистема исключений справится с ними оновременно? И прервать нельзя, так как перед деструктором объекта, содержащего ob все элементы завёрнутого в него массива должны быть хранить или nullptr, или валидные указатели на массивы в sob, или сам ob должен быть равен nullptr, иначе крах по памяти в момент delete. А когда всё в одном месте, то это не повод для исключений, так как есть более простой способ обнаружения гоги и гогозащиты. Исключения предназначены для выдачи на другой уровень вызова с целью обнаружения на верхнем уровне глубинных ошибок и реакции на них, а не для замены велика самокатом.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2012, 18:27
taras atavin, я не совсем понимаю, куда вы уводите разговор и в чём пытаетесь меня убедить? В том, что new не должен кидать исключений? Так вы не мне это говорите, а комитету по стандартизации. Пускай в следующем стандарте убирают эту бредовую фичу к чёртовой матери.
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.06.2012, 18:36
Цитата Сообщение от silent_1991 Посмотреть сообщение
taras atavin, исключения - часть языка, и если хочешь на более-менее приличном уровне знать язык, с ними всё равно придётся рано или поздно разобраться.
Но не в самом же начале! Знать на приличном уровне и знать кое как - разные понятия. Эксперт обязан знать и не такое? Эйси. Согласен. Но новичок не может знать и более простого, ему надо сначала освоиться в азах, а дефолтоисклюкака в new требует уже готовых знаний исключений в самом начале изучения памяти. Представить же себе даже учебную задачу сложнее одного цикла, но полностью в статике способен разве что Страуструп.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2012, 19:08
taras atavin, прочитайте остальную часть того сообщения, что вы процитировали, там я поясняю свою мысль.
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.06.2012, 19:34
Цитата Сообщение от silent_1991 Посмотреть сообщение
прочитайте остальную часть того сообщения, что вы процитировали, там я поясняю свою мысль.
Ну и читай:
Цитата Сообщение от silent_1991 Посмотреть сообщение
Штука здесь в том, что маленькие приложения, которые пишут люди, только начавшие изучать язык, вряд ли столкнутся с такой проблемой, как нехватка памяти,
Я через год изучения языка, не зная об исключениях вообще ничего, пытался написать прогу, в которой только один массив весил 2 312 000 000 байт, а всего их было больше 16-ти. 36 гигов для 32-х битной системы - это выше крыши и гарантия не хватки памяти. Маленькое приложение - это ведь не то, у которого мало данных, а то, в котором мало исходного текста. Это во-первых. А во-вторых памяти может не хватить из-за того, что её сожрало другое приложение других авторов и вообще покупное. Не сталкиваются же с такой проблемой программы, писанные асами, и то не всегда.

Добавлено через 7 минут
Цитата Сообщение от silent_1991 Посмотреть сообщение
Указатели - довольно сложная тема, и за неё не принимаются сразу.
Во-первых в сравнении с исключениями элементарная. А во-вторых в процессе изучения требуется простое и быстрое понимание самих задач, а из тех, которые это допускают, не требующие указателей могут быть исчерпаны уже на втором десятке. А это означает, что за указатели берутся очень рано, буквально на через пару-тройку недель.

Добавлено через 3 минуты
Цитата Сообщение от silent_1991 Посмотреть сообщение
Для этого используют scanf. Однако scanf принимает адрес переменной, в которую считывается информация. Но ведь никто не будет тянуть с вводом данных с клавиатуры до тех пор, пока не пройдут указатели. Говорят "пока пиши амперсанд, а дальше поймёшь, зачем это надо было делать".
Сканф сам со своим завалом кодов для спецификации типов и форматов вводимых данных - такие дебри, что я до сих пор за него толком не брался. 12 лет пишу на плюсах.
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
05.06.2012, 19:46
Цитата Сообщение от taras atavin Посмотреть сообщение
и пара миллионов из них бросит по исклюкаке.
И ты как раз намекаешь на непонимание работы механизма исключений. После первого же исключения создание остальных объектов будет прервано. Никаких миллионов исключений не будет (если в вышележащем коде заново не будет запущен цикл создания).
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
05.06.2012, 19:49
taras atavin, и всё это снова возвращает нас (вас) к простому решению - пишите комитету по стандартизации, пускай выкидывают исключения из стандарта, ими вон люди не пользуются!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2012, 19:49

Прокомментировать код
есть код программы, нужно объяснить её программный код. и исправить ошибки.помогите пожалуйста. int dwsp(double* x, double* y); int...

Прокомментировать код
Добрый день. Для тех у кого времени хватает и нечем заняться, просьба прокомментировать след. код : // A simple computerized telephone...

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

Прокомментировать код
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { double eps,...

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


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru