Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
manshilina
0 / 0 / 2
Регистрация: 21.12.2013
Сообщений: 16
#1

Функция для вычисления максимального значения из трех элементов - C (СИ)

11.01.2014, 16:03. Просмотров 617. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста. Написать функцию для вычисления максимального значения из 3-х элементов.
http://www.cyberforum.ru/c-beginners/thread2257487.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 16:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Функция для вычисления максимального значения из трех элементов (C (СИ)):

Функция поиска максимального значения
Не могу понять почему не считает макс.элемент #include <stdio.h> #include...

Разработать функцию для вычисления минимального значения элементов челочислительного массива
Здравствуйте... Программку составил, но не могу доделать, а точнее придумать...

Макрос SUMMARY для вывода массива на экран и вычисления значения суммы элементов
Напишите программу, которая использует макрос SUMMARY для вывода массива на...

Функция вычисления факториала выводит неправильные значения
Ошибки компилятор не выдает. А вот текст программы: #include "stdafx.h"...

Функция поиска максимального и минимального элементов одномерного массив
Ребят помогите написать программу УСЛОВИЕ:Написать функцию поиска...

7
Рогалик
0 / 0 / 1
Регистрация: 10.01.2014
Сообщений: 8
11.01.2014, 17:25 #2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот мой вариант решения. Прошу опытных программистов проверить его (укажите ошибки и "некорректности"), т. к. являюсь начинающим. Так же, прошу предложить другой вариант решения задачи (предполагаю, что есть гораздо более простой вариант). Работаю в среде Dev C++.


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
#include <stdio.h>
 
    float main (void)
{
 
    float ch_1,ch_2,ch_3;   // nazvanie peremennoy ot "chiclo"
 
    printf("Wvedite chicla: \nPervoe chiclo=");
    scanf("%f", &ch_1);
 
    printf("Vtoroe chiclo=");
    scanf("%f", &ch_2);
 
    printf("Tretee chiclo=");
    scanf("%f", &ch_3);
 
if (ch_1>ch_2) 
{
    if (ch_1>ch_3)
    printf("Bolshee shiclo = %.2f", ch_1);
    
    else 
    printf("Bolshee shiclo = %.2f", ch_3);
}
 
else
{
    if (ch_2>ch_3)
    printf("Bolshee shiclo = %.2f", ch_2);
    
    else 
    printf("Bolshee shiclo = %.2f", ch_3);
}
 
    return 0;
    system("pause");
}
0
Вероника99
5 / 5 / 5
Регистрация: 16.12.2013
Сообщений: 461
11.01.2014, 21:25 #3
Вместо ch_1,ch_2,ch_3 можно было бы сделать массив, потом циклично вводить числа в массив:
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
#include "stdafx.h"
#include <stdio.h>
#include "locale" 
int main(void)
{
    setlocale(LC_ALL,"Russian"); 
   int arr[4];
   int i;
   printf("Введите числа через Enter: \n");
   for(i=0;i<4;i++)
   scanf("%i", &arr[i]);
   int max=arr[0];
      int min=arr[0];
   for(i=0;i<4;i++)
   { if(max<arr[i])
        max=arr[i];
      
      if(min>arr[i])
          min=arr[i];
        
    }
   printf("\nМаксимальное число %i\nМин число %i",max,min);
return 0;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
12.01.2014, 00:06 #4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#define max(a, b) ( (a) > (b) ? (a) : (b) )
 
int main(void) {
    int a, b, c;
 
    while ( printf("3 numbers: ") && scanf("%d %d %d", &a, &b, &c) == 3 )
        printf("The biggest is %d\n", max(max(a, b), c));
 
    return 0;
}
1
bgm123
40 / 40 / 27
Регистрация: 29.01.2013
Сообщений: 277
12.01.2014, 00:19 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
    int a, b, c;
 
    printf("Enter a, b, c: ");
    scanf("%i%i%i", &a, &b, &c);
    printf("max value: %i\n", a >= b? (a >= c ? a : c):(b >=c ? b : c));
 
    return 0;
}
1
Рогалик
0 / 0 / 1
Регистрация: 10.01.2014
Сообщений: 8
12.01.2014, 01:01 #6
Поясните пожалуйста работу цикла.

Цитата Сообщение от easybudda Посмотреть сообщение
C
1
2
    while ( printf("3 numbers: ") && scanf("%d %d %d", &a, &b, &c) == 3 )
        printf("The biggest is %d\n", max(max(a, b), c));
0
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
12.01.2014, 01:21 #7
Цитата Сообщение от Рогалик Посмотреть сообщение
Поясните пожалуйста работу цикла.
Прежде всего, это немного неправильная запись, правильно вот так:
C
1
while ( printf("3 numbers: ") > 0 && scanf("%d %d %d", &a, &b, &c) == 3 )
Теперь суть: функция printf() возвращает некоторое положительное число предположительно соответствующее количеству выведенных символов, или EOF в случае ошибки. Но, если printf() в stdout возвращает ошибку, это значит, что прежде, чем писать програмки, нужно с настройками консоли разобраться. По этому проверку возвращаемого printf() значения можно пропустить (будет с этим что-нибудь не так - будет заметно). Вернулось что-то отличное от нуля, ну и ладно. Функция scanf() возвращает количество присвоенных значений. То есть, если ввести вместо одного из чисел что-то другое, выражение scanf("%d %d %d", &a, &b, &c) == 3 вернёт 0 и выполнение цикла прекратится.
2
MickeyBlueEyes
Студент
120 / 131 / 39
Регистрация: 07.04.2011
Сообщений: 503
12.01.2014, 02:09 #8
Tips&Tricks in C от буды
0
12.01.2014, 02:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 02:09
Привет! Вот еще темы с решениями:

Функция: найти разность минимального и максимального элементов массива
дан целочисленный массив, найти разность минимального и максимального элементов...

Вывести значения минимального и максимального элементов массива
Помогите, пожалуйста, найти ошибки. Задача В. Ввести с клавиатуры количество...

Вывести значения трех наибольших элементов среди заданных
Всем добрый день! Помогите разобраться с проблемой пожалуйста. Пишу программу...

Определить сумму элементов, лежащих до максимального значения в массиве
Определитe сумму элементов, лежащих до максимального значения в массиве С и...


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

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

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