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

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

Восстановить пароль Регистрация
 
Vexel
 Аватар для Vexel
12 / 12 / 1
Регистрация: 18.10.2009
Сообщений: 159
08.09.2010, 21:23     Отладка программы #1
Помогите пожалуйста сделать программу корректной. В общем из трех чисел 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++ Отладка программы в CodeBlocks
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
08.09.2010, 21:25     Отладка программы #2
Даны действительные числа x,y,z. Найти максимальное из них.
так трудно поискать?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
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
2293 / 1663 / 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++
4938 / 3014 / 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     Отладка программы
Ответ Создать тему
Опции темы

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