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

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

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

Задача на поиск 2х наибольших чисел - C++

26.05.2014, 13:01. Просмотров 220. Ответов 5
Метки нет (Все метки)

Попалась задачка с ныне мне не встречавшейся переменной tmp. Единственное, что я нашла в интернете, так это то, что tmp создают для хранения временных файлов, удаляемых при прекращении программы. Поясните, пожалуйста, функцию данной переменной? И почему, например, при поиске одного наибольшего числа, нам эта переменная не нужна была.
Спасибо.

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
#include <iostream>
 
using namespace std;
 
int main()
{
   //счетчик для подсчета количества введенных чисел и
   //определения момента ввода последнего числа
   int counter;
   //выделяем область в памяти для переменных, которые хранят
   //введенное текущее число и максимально найденное
   float number, largest, largest2;
   
   cout << "Inter: ";
   cin >> largest;
   cout << "Inter: ";
   cin >> largest2;
   
   if (largest < largest2)
   {
      float tmp;
      tmp = largest;
      largest = largest2;
      largest2 = tmp;
   }
   
   for (counter = 1; counter <= 8; counter++)
   {
      cout << "Inter: ";
      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;

Попалась задачка с ныне мне не встречавшейся переменной tmp. Единственное, что я нашла в интернете, так это то, что tmp создают для хранения временных файлов, удаляемых при прекращении программы. Поясните, пожалуйста, функцию данной переменной? И почему, например, при поиске одного наибольшего числа, нам эта переменная не нужна была.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 13:01     Задача на поиск 2х наибольших чисел
Посмотрите здесь:

сумма 5 наибольших чисел C++
C++ Поиск 2-х наибольших чисел
Найти сумму 2 наибольших из трех чисел C++
C++ Задача на поиск делителей последовательности чисел с использованием функции
Сумма двух наибольших чисел последовательности. C++
Найти произведение двух наибольших отрицательных чисел массива C++
Найти произведение двух наибольших четных чисел массива C++
C++ Найти сумму двух наибольших из трех заданных различных чисел
C++ Поиск в массиве: найти 5 наибольших элементов
Из трёх заданных чисел найти сумму двух наибольших C++
Нахождение суммы двух наибольших из трех различных чисел C++
C++ Найти 10 наибольших чисел в массиве из 10000 чисел и записать в массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5589 / 2623 / 239
Регистрация: 01.11.2011
Сообщений: 6,448
Завершенные тесты: 1
26.05.2014, 13:45     Задача на поиск 2х наибольших чисел #2
Цитата Сообщение от bazzinga13 Посмотреть сообщение
мне не встречавшейся переменной tmp
Еще ее иногда называют temp.

Цитата Сообщение от bazzinga13 Посмотреть сообщение
я нашла в интернете, так это то, что tmp создают для хранения временных файлов, удаляемых при прекращении программы
Не только при прекращении программы, но и вообще, при завершении любого блока программы, когда переменная становится больше не нужна.
К примеру, в вашем коде:
C++
19
20
21
22
23
24
25
   if (largest < largest2)
   {
      float tmp;
      tmp = largest;
      largest = largest2;
      largest2 = tmp;
   } // Вот здесь больше не нужна
переменная tmp будет создана только если largest меньше largest2, и, оказав помощь при перемене содержимого этих переменных, будет уничтожена сразу по выходу из круглых скобочек.

Цитата Сообщение от bazzinga13 Посмотреть сообщение
И почему, например, при поиске одного наибольшего числа, нам эта переменная не нужна была.
Скорее всего там просто был другой алгоритм, не задействовавший эту переменную.
bazzinga13
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 10
26.05.2014, 14:29  [ТС]     Задача на поиск 2х наибольших чисел #3
У меня под рукой нет компилятора сейчас. Но я что-то не поняла все равно. А почему нельзя было все то же самое сформулировать с помощью уже имеющейся переменной number?
SatanaXIII
Супер-модератор
Эксперт С++
5589 / 2623 / 239
Регистрация: 01.11.2011
Сообщений: 6,448
Завершенные тесты: 1
26.05.2014, 15:34     Задача на поиск 2х наибольших чисел #4
Цитата Сообщение от bazzinga13 Посмотреть сообщение
почему нельзя было все то же самое сформулировать с помощью уже имеющейся переменной number?
Потому что number хранит введенное число. И если его использовать в качестве временной переменно, то значение, которое он хранит, потеряется.
bazzinga13
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 10
26.05.2014, 15:40  [ТС]     Задача на поиск 2х наибольших чисел #5
Ааа..со скрипом дошло. Спасибо
SANYAMILITARY
7 / 7 / 3
Регистрация: 07.05.2014
Сообщений: 56
26.05.2014, 17:22     Задача на поиск 2х наибольших чисел #6
bazzinga13, ты можешь назвать эту переменную как угодно. Просто ее чаще называют temp или tmp.(от англ. temporary - временный). Особенность ее именно в ее временном характере.
Yandex
Объявления
26.05.2014, 17:22     Задача на поиск 2х наибольших чисел
Ответ Создать тему
Опции темы

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