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

Подскажите, где ошибка в программе - C++

14.11.2012, 17:01. Просмотров 472. Ответов 10
Метки нет (Все метки)

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
#include<iostream.h> 
       #include<math.h> 
       void main()
       {int b,k,t; 
       b=0;k=0;t=0;
       {if  (b+k+t==100)
        for (;b<=10,k<=20,t<=100;)  //здесь должна быть скобка со знаком - ";   )" а не смайл,знаки расставлены так, потому что иначе выдаётся ошибка
 
      b=b++;
           k=k++; 
           t=t++;
          };
cout<<"\nKol_bykov="<<b<<"\nKol_korov="<<k<<"\nKol_telyat="<<t;
}  
 
Почему-то результат: 0
                               1
                               1
 
 А в этом варианте цикл выполняется только 1 раз , а не до заданного условия:
      #include<iostream.h> 
      #include<math.h> 
      void main()
     {int b,k,t; 
     b=0;k=0;t=0;
     {if((20*b+10*k+t==200)&&(b+k+t==100))
       while ((b<=10)&&(k<=20)&&(t<=200));
 
     b=b++;
         k=k++;
         t=t++;
         };
 
     cout<<"\nKol_bykov="<<b<<"\nKol_korov="<<k<<"\nKol_telyat="<<t;
     }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 17:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подскажите, где ошибка в программе (C++):

Подскажите где в программе может быть ошибка
#include &lt;iostream&gt; #include &lt;math&gt; #include &lt;conio&gt; #include &lt;time.h&gt;...

Подскажите, где ошибки в программе
#include &lt;conio.h&gt;//підключеннябібліотек #include &lt;stdio.h&gt; #include...

Подскажите пожалуйста где исправить ошибку в программе сделанную в C++
Привет всем! У меня случилась одна не большая проблема. Дело в том, что мне...

Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил)
написать универсальный тип, который представляет точку на плоскости в...

где ошибка в программе?
// ConsoleApplication3.cpp : Defines the entry point for the console...

где-то ошибка в программе на С++
Вычислить путём сложения сумму s=1/2 + 2/3 + 3/4...(всего десять слагаемых)...в...

10
toshich
11 / 11 / 5
Регистрация: 19.10.2012
Сообщений: 28
14.11.2012, 17:49 #2
C++
1
if (b+k+t==100)
Не выполняется же потому в цикл не идет
1
GirlFriend
0 / 0 / 1
Регистрация: 28.05.2012
Сообщений: 17
14.11.2012, 17:50  [ТС] #3
да(

как их использовать
0
toshich
11 / 11 / 5
Регистрация: 19.10.2012
Сообщений: 28
14.11.2012, 17:54 #4
Господи, как можно так писать
0
_Loader_
6 / 6 / 1
Регистрация: 18.04.2012
Сообщений: 92
14.11.2012, 18:00 #5
GirlFriend, Если я не ошибаюсь то в цикл не идет во втором варианте потому, что все переменные = 0, а условие (20*b+10*k+t==200)&&(b+k+t==100) так попробуйте подставить свои переменные которые = 0, и что получится с точки зрения математики?
0
GirlFriend
0 / 0 / 1
Регистрация: 28.05.2012
Сообщений: 17
14.11.2012, 18:03  [ТС] #6
Цитата Сообщение от _Loader_ Посмотреть сообщение
GirlFriend, Если я не ошибаюсь то в цикл не идет во втором варианте потому, что все переменные = 0, а условие (20*b+10*k+t==200)&&(b+k+t==100) так попробуйте подставить свои переменные которые = 0, и что получится с точки зрения математики?
Да, уже заметила это несоответствие
0
_Loader_
6 / 6 / 1
Регистрация: 18.04.2012
Сообщений: 92
14.11.2012, 18:11 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream> 
#include<math.h> 
void main()
    {
        int b,k,t; 
        b=20;
        k=50;
        t=40;
if((20*b+10*k+t==200)&&(b+k+t==100))
        {
    while ((b<=10)&&(k<=20)&&(t<=200))
    {
            b=b++;
            k=k++;
            t=t++;
    }
        }
        std::cout<<"Kol_bykov="<<b<<"\nKol_korov="<<k<<"\nKol_telyat="<<t<<"\n";
        std::system("Pause");
        }
если что вот второй рабочий вариант
P.S Не стал заворачиваться с форматированием, Пардонте)
1
GirlFriend
0 / 0 / 1
Регистрация: 28.05.2012
Сообщений: 17
14.11.2012, 18:19  [ТС] #8
Цитата Сообщение от _Loader_ Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream> 
#include<math.h> 
void main()
    {
        int b,k,t; 
        b=20;
        k=50;
        t=40;
if((20*b+10*k+t==200)&&(b+k+t==100))
        {
    while ((b<=10)&&(k<=20)&&(t<=200))
    {
            b=b++;
            k=k++;
            t=t++;
    }
        }
        std::cout<<"Kol_bykov="<<b<<"\nKol_korov="<<k<<"\nKol_telyat="<<t<<"\n";
        std::system("Pause");
        }
если что вот второй рабочий вариант
P.S Не стал заворачиваться с форматированием, Пардонте)
а почему сразу присвоены значения:b=20;
k=50;
t=40;
0
_Loader_
6 / 6 / 1
Регистрация: 18.04.2012
Сообщений: 92
14.11.2012, 18:22 #9
GirlFriend, так это просто для теста так как ваши нули не подходят, если там правельно написанны два условия, тогда надо подобрать такие значения этих переменных чтобы они удволетворяли каждому словию для достижения кода
C++
1
2
3
            b=b++;
            k=k++;
            t=t++;
Вы скажите что вам надо сделать?
0
GirlFriend
0 / 0 / 1
Регистрация: 28.05.2012
Сообщений: 17
14.11.2012, 18:27  [ТС] #10
Теперь понятно.
чтобы выполнялись условия:
b+k+t=100 и b*10+k*5+t*0.5=100
0
_Loader_
6 / 6 / 1
Регистрация: 18.04.2012
Сообщений: 92
14.11.2012, 19:09 #11
Данный цикл поможет вам найти найти много значений которые соответствуют условию i*10 +j*5+k*0.5==100

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(int i= 0;;i++)
         {
             for(int j = 0;;j++)
             {
                 for (int k = 0;;k++)
                 {
                     if ((i*10 +j*5+k*0.5)==100)
                     {
                         std::cout<<"b="<<i<<"\nk="<<j<<"\nt="<<k<<"\n"<<"\n";
                         break;
                     }
                    
                 }
                 
             }
        }
Добавлено через 14 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream> 
#include<math.h> 
void main()
{
    for(int i= 0;i < 100;i++)
         {
             for(int j = 0;j <100;j++)
             {
                 for (int k = 0;k <100;k++)
                 {
                     if ((i*10 +j*5+k*0.5==100)&&(i+j+k==100))
                     {
                         std::cout<<"b="<<i<<"\nk="<<j<<"\nt="<<k<<"\n"<<"\n";
                     }
                    
                 }
                 
             }
        } 
    std::system("Pause");
}
Вот доделал, а то на скорую руку был
1
14.11.2012, 19:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2012, 19:09
Привет! Вот еще темы с решениями:

Где ошибка в программе?
http://********************/show-image.php?id=77045b4d29fc54e45fc9d6c2ab7112d0 ...

Где ошибка в программе?
#include &lt;iostream&gt; int const SIZE = 100; struct Item { float x; float...

Непонятно где ошибка в программе
Программа должна записывать в output.txt содержимое из файлов заданных через...

Ошибка в программе, не могу найти где
Доброго времени суток. Задание для программы: &quot;Задается размер массива, который...


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

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

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