Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

26.05.2014, 13:01. Просмотров 277. Ответов 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х наибольших чисел (C++):

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

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

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

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

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

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

5
SatanaXIII
Супер-модератор
Эксперт С++
5618 / 2653 / 246
Регистрация: 01.11.2011
Сообщений: 6,549
Завершенные тесты: 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
Супер-модератор
Эксперт С++
5618 / 2653 / 246
Регистрация: 01.11.2011
Сообщений: 6,549
Завершенные тесты: 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 / 3
Регистрация: 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
Привет! Вот еще темы с ответами:

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

Найти произведение двух наибольших четных чисел массива - C++
Найти произведение двух наибольших четных чисел массива

Найти произведение двух наибольших отрицательных чисел массива - C++
Найти произведение двух наибольших отрицательных чисел массива help pls, вечно беда получается какая-то.. #include&lt;iostream&gt; using...

Из трёх заданных чисел найти сумму двух наибольших - C++
Данные три числа. Найти сумму двух наибольших из них.


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

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

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