С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.02.2015
Сообщений: 2

Не могу разобраться в сути работы программы :(

14.02.2015, 15:55. Показов 790. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int i;
 
    float number, largest, largest2;
 
    cout << "Enter number: ";
    cin >> largest;
    cout << "\nEnter number: ";
    cin >> largest2;
 
    if (largest2 > largest)
    {
        float tmp;
        tmp = largest;
        largest = largest2;
        largest2 = tmp;
    }
 
    for (i = 1; i <= 8; i++)
    {
        cout << "\nEnter number: ";
        cin >> number;
 
        if (number > largest)
        {
            largest2 = largest;
            largest = number;
        }
        else if (number > largest2)
            largest2 = number;
    }
 
    cout << endl << "Max1: " << largest << endl;
    cout << endl << "Max2: " << largest2 << endl;
 
 
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2015, 15:55
Ответы с готовыми решениями:

Не могу разобраться с указателями(не понимаю сути освобождения памяти)
Вот я тоже дуб в указателях... помогите пожалуйста кому не лениво... с горем пополам заработал Enter (ноуту пора в утиль), и вот (вопросы...

Не могу разобраться в коде. Некорректный результат работы программы
Ввести с клавиатуры числа x, E . Последовательность a,a....a образована по закону a=3+ (1/(3^n))*sin(a-x)). Найти первый член, для которого...

Приветствую, не могу разобраться с кодом программы и не могу сделать .obj файл
.model tiny; нужно будет получить исполняемый файл формата СОМ .code org 100h start: mov ax, 3 int 10h ; устанавливаем...

3
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
14.02.2015, 16:01
программа вводит 10 чисел и отбирает 2 наибольших
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
14.02.2015, 16:03
Masinik, Употребляйте тэги кода!
А суть проста. Из десяти введенных чисел ищутся 2 самых больших.
0
542 / 163 / 79
Регистрация: 23.09.2013
Сообщений: 316
14.02.2015, 16:25
Ну это слабо структурированный код, который по сути пытается из набора вводимых пользователем элементов найти два самых больших числа.

Поддерживается инвариант, при котором переменная largest - содержит самое большое число, а переменная larges2 - второе по величине.
При этом операция :
C++
1
2
3
4
5
6
if (largest2 > largest) {
    float tmp;
    tmp = largest;
    largest = largest2;
    largest2 = tmp;
  }
меняет числа местами, если оказалось что largest2 > largest

А код:
C++
1
2
3
4
5
    if (number > largest) {
      largest2 = largest;
      largest = number;
    } else if (number > largest2)
      largest2 = number;
заменяет largest на number, largest2 на largest, в случае если number > largest
и заменяет largest2 на number, если number > largest2
и игнорирует number если number <= largest2 или number <= largest1

Добавлено через 11 минут
Эту программу можно было бы написать подобным образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <algorithm>
 
float GetNumberFromUser(std::istream &istream) {
  std::cout << "Enter number: ";
  float number = 0;
  istream >> number;
  return number;
}
 
int main() {
  std::vector<float> numbers;
  for (size_t i = 0; i < 10; ++i) {
    numbers.push_back(GetNumberFromUser(std::cin) * i);
  }
  std::sort(numbers.begin(), numbers.end(), std::greater<float>());
  auto largest_number_it = numbers.begin();
  std::cout << "\nMax1: " << *largest_number_it
            << "\nMax2: " << *std::next(largest_number_it, 1) << '\n';
}
-для случая, когда можно хранить набор всех введенных элементов.

Пруф работоспособности:
http://ideone.com/VQXwg7

Добавлено через 9 минут
Либо, немного приведя в божеский вид, то что было:
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
#include <iostream>
#include <vector>
#include <algorithm>
 
float GetNumberFromUser(std::istream &istream) {
  std::cout << "Enter number: ";
  float number = 0;
  istream >> number;
  return number;
}
 
int main() {
  float first_max = GetNumberFromUser(std::cin);
  float second_max = GetNumberFromUser(std::cin);
  for (size_t i = 0; i < 8; ++i) {
    auto current = GetNumberFromUser(std::cin);
    if (first_max < current) {
      second_max = first_max;
      first_max = current;
    } else {
      second_max = std::max(second_max, current);
    }
  }
  std::cout << "\nMax1: " << first_max << "\nMax2: " << second_max << '\n';
}
Пруф работоспособности:
http://ideone.com/Dc5WfH
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2015, 16:25
Помогаю со студенческими работами здесь

Не могу разобраться в принципе работы цикла
1. как в данном случае работает цикл for без третьего условия? for(i=0; s ; ) { for(;s&amp;&amp;s==' ';i++); if(s) {....}}2. Чему у...

Не могу разобраться в принципе работы цикла
1. как в данном случае работает цикл for без третьего условия? for(i=0; s ; ) { for(;s&amp;&amp;s==' ';i++); if(s) {....}}2. Чему у...

Есть программа работы с LPT, не могу разобраться
Здравствуйте! У меня есть рабочая программа написанная под LPT-порт, но я не могу в ней розобраться. BYTE data= 0x0; ...

Не могу разобраться в работе программы
Добрый день. Есть задачка из книги &quot;Head Firsd Java&quot; - и есть очень большая проблема с тем, как программа из этой задачка отрабатывает -...

Не могу разобраться с логикой программы
Всем привет! Во вложении лежит проект, с которым возникли проблемы: надо отработать такую логику: - Галочка в чекбоксе не стоит -...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru