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

Ошибки в программе (поиск минимального значения) - C++

Восстановить пароль Регистрация
 
Vladimi
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 5
06.12.2010, 20:12     Ошибки в программе (поиск минимального значения) #1
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
38
39
40
#include <iostream>
#include <conio>
#include <stdio>
#include <math>
 
void main()
{
   int a,b,c,min,max;
   clrscr();
   printf("X=min(max(a,b),c)\nVvedite 3 celih chisla vvide: A,B,C\n");
   scanf("%d,%d,%d",&a,&b,&c); //забиваем значения в переменные
       printf(" %d", a);
       printf(", %d", b);
       printf(", %d", c);
   printf("\nX=min(max(%d", a);   //подставляем в формулу
   printf(",%d", b);
   printf("),%d", c);
   printf(")%d\n");
   //метод обхода
   if (a<b)
           max=b;
           else max=a;
   if (max<c)
           min=max;
           else min=c;
   printf ("X=%d\n", min);    // выводим ответ
   //метод развилки
   if (a<b)
   max=b;
           if (max<c)
           min=max;
           else min=c;
   else (max=a) if (max<c)
        min=max;
        else min=c;
 
   printf ("X=%d\n", min);    // выводим ответ
 
   getch();
}
Задание: написать программу находящую число по формуле X=min(max(a,b),c). Должен присутствовать метод развилки и метод обхода.
Вопросы:
1. После подставления в формулу после формулы выводится какое-то левое число
2. можно ли как нибудь упростить (не понял как выводить слово, затем переменную, а затем снова слова, не используя функцию printf() заново
C++
1
2
3
4
   printf("\nX=min(max(%d", a);
   printf(",%d", b);
   printf("),%d", c);
   printf(")%d\n");
?
3. Метод развилки совсем не получился, что не так?
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
06.12.2010, 20:24     Ошибки в программе (поиск минимального значения) #2
C
1
printf("\nX=min(max(%d,%d),%d)\n", a,b,c);
Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
   if (a<b)
   max=b;
           if (max<c)
           min=max;
           else min=c;
   else (max=a) if (max<c)
        min=max;
        else min=c;
->
C
1
2
3
4
5
6
7
8
9
10
11
   if (a<b)
   {
   max=b;
           if (max<c)
           min=max;
           else min=c;
   }
   else (max=a);
     if (max<c)
        min=max;
        else min=c;
да и вообще что-то налеплено всякой гадости, грязно
SergProgC++
Эксперт GPSS
 Аватар для SergProgC++
314 / 316 / 59
Регистрация: 02.07.2010
Сообщений: 1,315
06.12.2010, 20:27     Ошибки в программе (поиск минимального значения) #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream.h>
#include <math.h>
 
void main()
{
   int a,b,c,min,max;
   cout<<"X=min(max(a,b),c)\nVvedite 3 celih chisla cherez probel vvide: A,B,C\n";
   cin>>a>>b>>c; //забиваем значения в переменные
   //метод обхода
   if (a<b)
   {
           max=b;
   }
   else {max=a;}
   if (max<c)
   {
           min=max;
   }
   else {min=c;}
   cout<<"otvet metoda obxoda:" <<min;  // выводим ответ
   //метод развилки
if (a<b)
{
   max=b;
 
    if (max<c)
{
   min=max;
}
    else {min=c;}
}
else {max=a;} 
if (max<c)
{
min=max;
}
else {min=c;}
 
  cout<<"otvet metoda razvilki:" <<min;     // выводим ответ
 
cin.get();
}
}
вот это работать должно
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
06.12.2010, 20:35     Ошибки в программе (поиск минимального значения) #4
это тоже
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <stdlib.h>
  #include <algorithm>
int main()
{
  int A[2],B[2];
  for (int i=0;i<2;i++)
    cin>>A[i];
    cin>>B[0];
    B[1]=*std::max_element(A,A+2);
    int min=*std::min_element(B,B+2);
      cout<<"\n"<<min;
}
Vladimi
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 5
06.12.2010, 20:42  [ТС]     Ошибки в программе (поиск минимального значения) #5
Спасибо, по примеру Darky все заработало.
SergProgC++, надо было использовать си, а не си++ (кнопочки перепутал), но все равно спасибо!

Может кому понадобится:
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 <iostream>
#include <conio>
#include <stdio>
#include <math>
 
void main()
{
   int a,b,c,min,max;
   clrscr();
   printf("X=min(max(a,b),c)\nVvedite 3 celih chisla vvide: A,B,C\n");
   scanf("%d,%d,%d",&a,&b,&c); //забиваем значения в переменные
   printf("%d,%d,%d\n",a,b,c); //проверяем забились ли значения
   printf("X=min(max(%d,%d),%d)\n", a,b,c);   //вводим в формулу
   //метод обхода
   if (a<b)
           max=b;
           else max=a;
   if (max<c)
           min=max;
           else min=c;
   printf ("Metod obhoda: X=%d\n", min);    // выводим ответ
   //развилка
   if (a<b)
   {
   max=b;
           if (max<c)
           min=max;
           else min=c;
   }
   else (max=a);
     if (max<c)
     min=max;
     else min=c;
   printf ("Metod razvilki: X=%d\n", min);    // выводим ответ
 
   getch();
}
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
06.12.2010, 20:44     Ошибки в программе (поиск минимального значения) #6
Vladimi, а зачем проверять, забились ли значения? (12 строка)
Vladimi
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 5
06.12.2010, 20:46  [ТС]     Ошибки в программе (поиск минимального значения) #7
Darky, для себя писал, долго не мог понять почему не забывались.
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
06.12.2010, 20:55     Ошибки в программе (поиск минимального значения) #8
C
1
scanf("%d,%d,%d",&a,&b,&c);
такое не каждый компилятор схавает. я бы сделал по отдельности каждый сканф.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 21:11     Ошибки в программе (поиск минимального значения)
Еще ссылки по теме:

C++ Индекс минимального значения
Поиск значения минимального листа дерева/ошибка C++
C++ Ошибки в программе

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

Или воспользуйтесь поиском по форуму:
Vladimi
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 5
06.12.2010, 21:11  [ТС]     Ошибки в программе (поиск минимального значения) #9
Darky,
Я пробовал по отдельности, у меня не получалось в книге-самоучителе нашел данный вариант и использовал его, только там было
C
1
scanf("%lf,%lf,%lf",&d1,&d2, &d3)
, что я путем проб и ошибок преобразовал в то, что получилось у меня.
Yandex
Объявления
06.12.2010, 21:11     Ошибки в программе (поиск минимального значения)
Ответ Создать тему
Опции темы

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