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

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

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

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

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

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

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

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

Нужно сравнить две переменные типа string - C++
Мне нужно сравнить 2 переменные типа string,нашел эту функцию,но почему то у меня выдает ошибку Error:class "std...

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

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

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

9
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
{
     выводим пятое
}

Или создай массив из пяти элементов и найди в нем максимальное!
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,603
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;
}
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
08.05.2012, 13:21 #4
MrGluck, ну я думаю STL не прокатит, так как задача первого курса, а там наврятли знают о существовании STL)
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,603
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;
}
0
alex_x_x
бжни
2450 / 1655 / 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;
}
0
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;
}
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
08.05.2012, 14:01 #8
Цитата Сообщение от SK01736 Посмотреть сообщение
int max=-10000;
не очень хорошая практика - лучше инициализировать первым значением в массиве
(а если вдруг в массиве все значения будут меньше -10000?)
0
SK01736
3 / 3 / 1
Регистрация: 21.01.2011
Сообщений: 29
08.05.2012, 14:05 #9
Цитата Сообщение от alex_x_x Посмотреть сообщение
не очень хорошая практика - лучше инициализировать первым значением в массиве
(а если вдруг в массиве все значения будут меньше -10000?)
если это задача для 1 курса, то здесь не очень обязательно делать идеально заумный код, поэтому не вижу смысла в введении дополнительной цифры в массиве, тем более что могут заставить изменить код, что бы числа вводились с клавиатуры. Следовательно это будет сложнее реализовать и добавить еще пару строчек.

P.S. это же для начинающих, а не для прогеров выше 1 уровня.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,603
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];
0
08.05.2012, 14:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 14:09
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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