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

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

Войти
Регистрация
Восстановить пароль
 
Vexel
 Аватар для Vexel
12 / 12 / 1
Регистрация: 18.10.2009
Сообщений: 159
#1

Отладка программы - C++

08.09.2010, 21:23. Просмотров 408. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста сделать программу корректной. В общем из трех чисел x, y, z нужной найти максимальное попробовал следующее, но чего то не выходит
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
inline int max(int x, int y, int z)
{ 
return x<y? x:y; 
return x<z? x:z;
}
int main ()
{
std::cout <<max(1,2,4) <<"\n";
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2010, 21:23     Отладка программы
Посмотрите здесь:

Отладка программы. C++
C++ Отладка программы.
C++ Отладка программы
Отладка программы C++
C++ Отладка
Отладка программы, куча ошибок C++
C++ Отладка программы в CodeBlocks
C++ Отладка программы
C++ Отладка программы
Отладка программы на С++ C++
C++ Отладка программы)
Отладка программы в С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
08.09.2010, 21:25     Отладка программы #2
Даны действительные числа x,y,z. Найти максимальное из них.
так трудно поискать?
neske
1455 / 822 / 68
Регистрация: 26.03.2010
Сообщений: 2,809
08.09.2010, 21:29     Отладка программы #3
С помощью STL:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
 
int main (void)
{
    const int SIZE=3;
    int MAS[SIZE]={1, 2, 3}; // или добавьте ввод с клавиатуры.
    
    std::cout << "MAX: " << *std::max_element (MAS, MAS+SIZE) << "\n";
    return 0;
}
Второй способ:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int max (int a, int b, int c)
{
    if ((a>b) && (a>c)) return a;
    else if (b>c) return b;
    else return c;
}
 
 
int main (void)
{
    std::cout << "MAX: " << max (1, 2, 3) << "\n";
    return 0;
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
08.09.2010, 21:52     Отладка программы #4
Vexel,
C++
1
2
3
4
5
6
inline int max(int x, int y) {
  return x > y? x : y;
}
inline int max(int x, int y, int z) {
  return max(max(x, y), z);
}
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
09.09.2010, 06:02     Отладка программы #5
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
#include <stdio.h>
#include <stdarg.h>
 
int max(int a, ...)
{
    va_list p;
    int m = a;
    int k = a;
    
    va_start(p, a);
    
    do
    {
        if (k > m)
            m = k;
    
        k = va_arg(p, int);
    }
    while (k != 0);
    
    return m;
}
 
int main()
{
    printf("%d\n%d\n%d", max(3, 2, 0), max(2, 8, 4, 0), max(3, 20, 5, 6, 0));
    getch();
    return 0;
}
rrrFer
Заблокирован
09.09.2010, 07:42     Отладка программы #6
Vexel, если по вашему коду, то у вас второй оператор return никогда не выполнится, если сильно хочется использовать тренарный оператор условия, то:
C++
1
2
3
inline int max(int x, int y, int z){ 
    return x<y&&y>z?y:x>z?x:z;
}
как то так
Yandex
Объявления
09.09.2010, 07:42     Отладка программы
Ответ Создать тему
Опции темы

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