Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
bazzinga13
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 10
1

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

26.05.2014, 13:01. Просмотров 361. Ответов 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 создают для хранения временных файлов, удаляемых при прекращении программы. Поясните, пожалуйста, функцию данной переменной? И почему, например, при поиске одного наибольшего числа, нам эта переменная не нужна была.
Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 13:01
Ответы с готовыми решениями:

Поиск 2-х наибольших чисел
Всем привет))) Вопрос вот в чём: подскажите как найти 2 наибольших числа из...

Задача на поиск делителей последовательности чисел с использованием функции
Вводится последовательность целых чисел, 0 – конец последовательности. Для...

Найти 10 наибольших чисел в массиве из 10000 чисел и записать в массив
Есть массив положительных чисел (значение каждого числа не превышает 3000)....

Поиск в массиве: найти 5 наибольших элементов
Есть массив чисел, в нем найти 5 крупнейших чисел и вывести на экран. Вот мой...

сумма 5 наибольших чисел
люди помагите пожалуйста я ни как не могу ввести 25 чисел с экрана в...

5
SatanaXIII
Почетный модератор
Эксперт С++
5775 / 2774 / 379
Регистрация: 01.11.2011
Сообщений: 6,750
Завершенные тесты: 1
26.05.2014, 13:45 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 Посмотреть сообщение
И почему, например, при поиске одного наибольшего числа, нам эта переменная не нужна была.
Скорее всего там просто был другой алгоритм, не задействовавший эту переменную.
0
bazzinga13
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 10
26.05.2014, 14:29  [ТС] 3
У меня под рукой нет компилятора сейчас. Но я что-то не поняла все равно. А почему нельзя было все то же самое сформулировать с помощью уже имеющейся переменной number?
0
SatanaXIII
Почетный модератор
Эксперт С++
5775 / 2774 / 379
Регистрация: 01.11.2011
Сообщений: 6,750
Завершенные тесты: 1
26.05.2014, 15:34 4
Цитата Сообщение от bazzinga13 Посмотреть сообщение
почему нельзя было все то же самое сформулировать с помощью уже имеющейся переменной number?
Потому что number хранит введенное число. И если его использовать в качестве временной переменно, то значение, которое он хранит, потеряется.
0
bazzinga13
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 10
26.05.2014, 15:40  [ТС] 5
Ааа..со скрипом дошло. Спасибо
0
SANYAMILITARY
7 / 7 / 5
Регистрация: 07.05.2014
Сообщений: 56
26.05.2014, 17:22 6
bazzinga13, ты можешь назвать эту переменную как угодно. Просто ее чаще называют temp или tmp.(от англ. temporary - временный). Особенность ее именно в ее временном характере.
0
26.05.2014, 17:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2014, 17:22

Найти сумму 2 наибольших из трех чисел
1) Даны 3 целых числа. Найти сумму 2 наибольших из них. 2)дана структура...

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

Найти 3 наибольших элемента в массиве целых чисел
Задан массив целых чисел. Найти 3 наибольших элемента в нем.


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

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

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