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

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

Войти
Регистрация
Восстановить пароль
 
Mari-mari
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 36
#1

Сравнить переменные - C++

08.05.2012, 12:51. Просмотров 1043. Ответов 9
Метки нет (Все метки)

Всем доброго времени суток, подскажите как сравнить 5 целочисленных переменных и большую из них распечатать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 12:51     Сравнить переменные
Посмотрите здесь:

Как сравнить две переменные string - C++
Есть две переменные типа string в одной записано string X="AB BA AS AX"; В другой string Y="AB"; В строке X cимволы...

Сравнить переменные и сохранить максимальное значение - C++
как сравнить переменные, а после большую куда-то сохранить, чтобы после использовать ?

Сравнить две переменные и изменить их значения по результатам сравнения - C++
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то...

Объясните как правильно сравнить переменные типа char - C++
Испульзую (strcmp(a.StNazn,c)==0) Не работает. Если поменять на (strcmp(a.StNazn,c)<0) Работает, но как-то не правильно. ...

Определить массив, создать две переменные типа указатель и сравнить - C++
Определить одномерный массив размерностью 10 элементов, * значение которых целого типа (заполнять вручную). * Создать две переменные...

Создать программу обработки массивов структур используя структурные переменные и переменные типа объеденения - C++
Создать массив структур, каждая из которых состоит из следующих елементов: факультет, курс, группа, фамилия студента и екзаменационная...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
08.05.2012, 13:14     Сравнить переменные #2
Цитата Сообщение от Mari-mari Посмотреть сообщение
подскажите как сравнить 5 целочисленных переменных и большую из них распечатать?
с помощью

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
if(первое число большее)
{
    выводим первое
}
else if(второе число большее)
{
     выводим второе
}
.......................
else
{
     выводим пятое
}

Или создай массив из пяти элементов и найди в нем максимальное!
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
08.05.2012, 13:17     Сравнить переменные #3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    int arr[5] = {1, 0, 10, 5, 2};
    std::copy(&arr[0], &arr[5], std::ostream_iterator<int>(std::cout, " "));
    std::cout<< std::endl<< "Max = "<< *std::max_element (&arr[0], &arr[5]);
    return 0;
}
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
08.05.2012, 13:21     Сравнить переменные #4
MrGluck, ну я думаю STL не прокатит, так как задача первого курса, а там наврятли знают о существовании STL)
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
08.05.2012, 13:23     Сравнить переменные #5
Цитата Сообщение от Infinity3000 Посмотреть сообщение
MrGluck, ну я думаю STL не прокатит, так как задача первого курса, а там наврятли знают о существовании STL)
Зато элегантно
Да и некоторые начинают понимать, что легче прочитать 2 строки из учебника, чем разобраться в данном коде)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    int arr[5] = {1, 0, 10, 5, 2}, max = 0;
    for (int i=0; i < 5; i++)
    {
        if (arr[i] > max) max = arr[i];
        std::cout<< arr[i]<< " ";
    }    
    std::cout<< std::endl<< "Max = "<< max;
    return 0;
}
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
08.05.2012, 13:44     Сравнить переменные #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
#define MAX(a,b) ((a) > (b) ? (a) : (b))
 
int get_max(int max, int* begin, int* end) {
  if (begin < end) return get_max (MAX(*begin, max), begin+1, end);
  else return max;
}
 
int main() {
  int arr[] = { 1, 2, 7, 4, 5 };
  printf ("%d\n", get_max(arr[0], arr, arr + sizeof(arr)/sizeof(arr[0])));
  return EXIT_SUCCESS;
}
Добавлено через 17 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
 
#define MAX(a,b) ((a) > (b) ? (a) : (b))
 
int get_max_impl(int max, int* begin, int* end) {
  if (begin != end) return get_max_impl (MAX(*begin, max), begin+1, end);
  else return max;
}
 
int get_max(int* begin, int* end) {
  return get_max_impl (*begin, begin+1, end);
}
 
int main() {
  int arr[] = { 1, 2, 7, 4, 8 };
  printf ("%d\n", get_max(arr, arr + sizeof(arr)/sizeof(arr[0])));
  return EXIT_SUCCESS;
}
SK01736
3 / 3 / 1
Регистрация: 21.01.2011
Сообщений: 29
08.05.2012, 13:58     Сравнить переменные #7
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main()
{
int arr[5]={1,2,3,4,5};
int max=-10000;
for(int i=0;i<5;i++)
if(arr[i]>max) 
max=arr[i];
cout<<"max="<<max<<endl;
}
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
08.05.2012, 14:01     Сравнить переменные #8
Цитата Сообщение от SK01736 Посмотреть сообщение
int max=-10000;
не очень хорошая практика - лучше инициализировать первым значением в массиве
(а если вдруг в массиве все значения будут меньше -10000?)
SK01736
3 / 3 / 1
Регистрация: 21.01.2011
Сообщений: 29
08.05.2012, 14:05     Сравнить переменные #9
Цитата Сообщение от alex_x_x Посмотреть сообщение
не очень хорошая практика - лучше инициализировать первым значением в массиве
(а если вдруг в массиве все значения будут меньше -10000?)
если это задача для 1 курса, то здесь не очень обязательно делать идеально заумный код, поэтому не вижу смысла в введении дополнительной цифры в массиве, тем более что могут заставить изменить код, что бы числа вводились с клавиатуры. Следовательно это будет сложнее реализовать и добавить еще пару строчек.

P.S. это же для начинающих, а не для прогеров выше 1 уровня.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 14:09     Сравнить переменные
Еще ссылки по теме:

Переменные,значение функции,вспомогательные переменные. - C++
1)Даны переменные A,B,C.Изменить их значения,переместив их содержимое из A-в B,B-в C,C-в A,и вывести новые значения переменных A,B,C. ...

Создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар - C++
Здравствуйте. Необходимо создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар. ругается в...

сравнить double с 0 - C++
спортивный интерес - наткнулся в вк, стало любопытно, а как правильно (хороший тон или стиль итп итд) сравнить double с 0, были варианты с...

Сравнить 2 подпоследовательности - C++
Есть строка,которую нужно заполнить тремя символами,но не должно быть смежных подпоследовательностей, то есть как обеспечить сравнение двух...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7182 / 4348 / 634
Регистрация: 29.11.2010
Сообщений: 11,839
08.05.2012, 14:09     Сравнить переменные #10
Цитата Сообщение от SK01736 Посмотреть сообщение
если это задача для 1 курса, то здесь не очень обязательно делать идеально заумный код, поэтому не вижу смысла в введении дополнительной цифры в массиве, тем более что могут заставить изменить код, что бы числа вводились с клавиатуры. Следовательно это будет сложнее реализовать и добавить еще пару строчек.

P.S. это же для начинающих, а не для прогеров выше 1 уровня.
То, что это задача для 1 курса, отнюдь не значит, что нужно подгонять значения как тебе хочется в рамках данной задачи. Можно вобще написать так:
C++
1
std::cout<< "Array: 2, 4, 1, -10, 27\nMax = 27";
или же
C++
1
2
int array[5] = {2, 4, 1, -10, 27}; 
int  max = array[4];
Yandex
Объявления
08.05.2012, 14:09     Сравнить переменные
Ответ Создать тему
Опции темы

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