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

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

Войти
Регистрация
Восстановить пароль
 
ekaterina!
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 11
#1

Цикл с for - C++

25.12.2010, 21:31. Просмотров 864. Ответов 4
Метки нет (Все метки)

Элементарная программа. Не могу разобраться почему первое условие не проверяется
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iomanip.h>
 
 int main() {
 int x=0,y=0;
 for (x=0;x<=20;x++){
   if (x==10) y=pow((x),3.5)+(0.78*pow((2*x),0.33));
   if (x==0 || x==3){ y=((25+x)/(23*x+24));}
  else {y=pow((x),5);}
 
cout << setw (4) << x << setw(10) << y <<endl; }
getch();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2010, 21:31     Цикл с for
Посмотрите здесь:

C++ Цикл FOR
C++ Цикл С++
Цикл for C++
цикл while C++
цикл for... C++
Цикл for C++
C++ Цикл
цикл do и while C++
Цикл C++
C++ Цикл while
цикл while C++
цикл for C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.12.2010, 21:54     Цикл с for #2
ekaterina!, все синтаксически правильно, первое условие выполняется.
Что в программе сделать надо-то?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
#include <math.h>
#include <iomanip>
 
using namespace std;
 
int main() {
    int x = 0, y = 0;
    for (x = 0; x <= 20; x++)
    {
        if (x == 10)
            y = pow((double)x, 3.5) + 0.78 * pow(double(2 * x), 0.33);
        if (x == 0 || x == 3)
            y= (25 + x) / (23 * x + 24);
        else 
            y = pow(double(x), 5);
 
    cout << setw (4) << x << setw(10) << y <<endl;
    }
    getch();
    return 0;
}
ekaterina!
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 11
25.12.2010, 21:59  [ТС]     Цикл с for #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iomanip.h>
 
 int main() {
 int y=0;
 int x=0;
 while (x<=20){ {
  y=pow((x),5);
   if (x==10) y=pow((x),3.5)+(0.78*pow((2*x),0.33));
   if (x==0 || x==3) y=((25+x)/(23*x+24));}
 
 
 
cout << setw (4) << x << setw(10) << y <<endl;
++x;}
getch();
Вот написала. В первом варианте не выполнялось условие если х=10. Программа возводила 10 в пятую степень.
sandye51
программист С++
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.12.2010, 22:07     Цикл с for #4
ekaterina!, у тебя сначало идет проверка x == 10, y вычислилось. А потом вы опять проверяете условие
C++
1
2
  if (x==0 || x==3){ y=((25+x)/(23*x+24));}
  else {y=pow((x),5);
и тут y пересчитывается уже.
надо тогда писать так
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 <iostream>
#include <conio.h>
#include <math.h>
#include <iomanip>
 
using namespace std;
 
int main() {
    int x = 0, y = 0;
    for (x = 0; x <= 20; x++)
    {
        if (x == 10)
            y = pow((double)x, 3.5) + 0.78 * pow(double(2 * x), 0.33);
        else
            if (x == 0 || x == 3)
                y= (25 + x) / (23 * x + 24);
            else 
                y = pow(double(x), 5);
 
    cout << setw (4) << x << setw(10) << y <<endl;
    }
    getch();
    return 0;
}
ekaterina!
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 11
25.12.2010, 22:13  [ТС]     Цикл с for #5
Спасибо, учту на будущее))
Yandex
Объявления
25.12.2010, 22:13     Цикл с for
Ответ Создать тему
Опции темы

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