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

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

Восстановить пароль Регистрация
 
bazzinga13
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 10
26.05.2014, 13:01     Задача на поиск 2х наибольших чисел #1
Попалась задачка с ныне мне не встречавшейся переменной 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 создают для хранения временных файлов, удаляемых при прекращении программы. Поясните, пожалуйста, функцию данной переменной? И почему, например, при поиске одного наибольшего числа, нам эта переменная не нужна была.
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 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
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 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х наибольших чисел
Ответ Создать тему
Опции темы

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