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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
julian3045
0 / 0 / 0
Регистрация: 10.01.2012
Сообщений: 22
#1

Организация циклов. Условные и безусловные переходы. - C++

20.01.2012, 14:37. Просмотров 1380. Ответов 10
Метки нет (Все метки)

Помогите пожалуйста сделать
0
Миниатюры
Организация циклов. Условные и безусловные переходы.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2012, 14:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организация циклов. Условные и безусловные переходы. (C++):

Организация циклов. Условные и безусловные переходы. - C++
http://www.cyberforum.ru/attachment.php?attachmentid=121789&d=1327055835 Помогите пожалуйста сделать на си и ассемблере, очень нужно,...

Условные переходы и циклы - C++
Помогите пожалуйста сделать на языке си, а не на с++, пожалуйста) a) Дано двузначное число. Выяснить: Какая из его цифр больше?...

Условные переходы и циклы - C++
Помогите пожалуйста сделать a) Дано двузначное число. Выяснить: Какая из его цифр больше? Одинаковы ли цифры? b) Дана...

Организация циклов в С - C++
Составить программу в С: 1. Составить программу, проверяющую, является ли заданное натуральное число совершенным, то есть равным сумме...

Организация циклов в C++ - C++
Не могу никак справиться с этим заданием: Дано натуральное число N: опредилить наименьшую цифру с чётным номером Оч нужна помощь....

Организация вывода с использование вложенных циклов - C++
Напечатать числа в виде следующей таблицы:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dimcoder
Полярный
462 / 434 / 68
Регистрация: 11.09.2011
Сообщений: 1,134
20.01.2012, 14:42 #2
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
main ()
{
double a, b, c, x;
//ввод
if (x < 0 && b != 0)
   cout << a * x * x + b;
else if (x > 0 && b == 0)
   cout << (x-a)/(x-c);
else
   cout << (x*10)/(c-4);
//system(PAUSE > NULL);
}
0
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
20.01.2012, 16:24 #3
Цитата Сообщение от dimcoder Посмотреть сообщение
#include <iostream>
using namespace std;
main ()
{
double a, b, c, x;
//ввод
if (x < 0 && b != 0)
* *cout << a * x * x + b;
else if (x > 0 && b == 0)
* *cout << (x-a)/(x-c);
else
* *cout << (x*10)/(c-4);
//system(PAUSE > NULL);
}
если позволите, то маленькое поправление, ибо double числа нельзя сравнивать на == и !=.
это нужно делать с использованием точности:
C++
1
2
3
4
5
const double eps = 0.00000001;
double a;
 
if(fabs(a) < eps)// проверка на ноль
if(fabs(a) > eps)// проверка на != 0
0
dimcoder
Полярный
462 / 434 / 68
Регистрация: 11.09.2011
Сообщений: 1,134
20.01.2012, 16:44 #4
Цитата Сообщение от Melkor Посмотреть сообщение
double числа нельзя сравнивать на == и !=
Почему? Проверка на равенство\неравенство на 0:
C++
1
2
3
4
5
double a = 0.0000000001;
if (a == 0)
   cout << "Equal" << endl;
else
   cout << "Not equal" << endl;
Вывод "Not equal"
Работает. Прошу привести пример нерабочей программы на сравнение.

double и float - не стоит сравнивать.
0
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
20.01.2012, 16:54 #5
Цитата Сообщение от dimcoder Посмотреть сообщение
Работает. Прошу привести пример нерабочей программы на сравнение.
вот пожалуйста несколько ссылочек:
http://forum.ixbt.com/topic.cgi?id=26:40010
http://forum.shelek.ru/index.php/topic,6441.0.html
0
dimcoder
Полярный
462 / 434 / 68
Регистрация: 11.09.2011
Сообщений: 1,134
20.01.2012, 17:21 #6
Да согласен, неточность вполне возможна и предложенный вариант, с точностью, подходит для решения. Но все же где вы можете применить данный способ в моей программе? Сравнения 2 даблов (которые кстати вводятся) не происходит, происходит сравнивание с константами.
0
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
20.01.2012, 17:33 #7
если есть гарантия что вы введете 1.0 и не получите в результате 0.99999999999 , то мой способ избыточен, но на практике луче не сравнивать даблы на == или != , потом очень тяжело определить где неработает программа. в этой маленькой проге легко найти где неверные входные данные, а представьте что в программе тысячи строк кода... так же легко тогда будет найти где потерялась 1 трилионная часть числа, которая привела к неправильному выполнению условия ?
1
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
20.01.2012, 17:35 #8
То, что они вводятся, не гарантирует, что они хранятся в том виде, в котором ты предполагаешь. И все типы с плавающей точкой (в том представлении, что обычно используется в компьютере) можно сравнивать с чем-то на равенство/неравенство только с какой-то точностью. И не важно с чем сравнивать.
1
x1Mike7x
217 / 130 / 6
Регистрация: 06.11.2010
Сообщений: 234
20.01.2012, 18:20 #9
2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    double S, D;
    S = D = 16.0;
    for ( int day = 2; day <= 10; ++day )
    {
        D += 0.15 * D;
        S += D;
    }
    std::cout << S << std::endl;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.01.2012, 23:23 #10
Цитата Сообщение от julian3045 Посмотреть сообщение
Помогите пожалуйста сделать
Миниатюры
Вот просто на плюсах
Задание 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
#include <iostream>
using namespace std;
 
int main()
{
    double a,b,c,x,f;
    while(true)//Да бесконечный цикл, 
               //для выхода из приложения просто закрываем окно консоли
               //зачем так построил - вычислять можно сколь угодно долго
               //для сколь угодно разных вводимых значений
               //а вводить к примеру _getch с целью вопроса - продолжить или нет
               //считаю просто бессмысленным для данного алгоритма
    {
        cout<<"Enter a : ";cin>>a;
        cout<<"Enter b : ";cin>>b;
        cout<<"Enter c : ";cin>>c;
        cout<<"Enter x : ";cin>>x;
 
        f = a*x*x + b;//x < 0 && b != 0
        //a*x*x + b всегда существует, дефалтим именно его
        if(b == 0)
        if(x < 0)
            f = 10*x/(c - 4);//x < 0 && b == 0 - вот и остальные случаи
        else
            f = (x - a)/(x - c);//0 < x && b == 0
        cout<<"f = "<<f<<endl;
    }
    return 0;
}
0
Миниатюры
Организация циклов. Условные и безусловные переходы.  
-=ЮрА=-
Заблокирован
Автор FAQ
20.01.2012, 23:31 #11
Задача 2
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 <cstdlib>
using namespace std;
 
int main()
{
    int nDays;
    double len, percent, distance = 0;
    cout<<"Enter distance of the first day in KM: ";
    cin>>len;
    cout<<"Enter percent of increase : ";
    cin>>percent;
    cout<<"Enter number of Days : ";
    cin>>nDays;
    for(int i = 1; i <= nDays; i++)
    {
        distance += len;
        len *= (1 + percent/100.0);
    }
    cout<<"Total distance in KM : "<<distance<<endl;
    system("pause");
    return 0;
}
0
Миниатюры
Организация циклов. Условные и безусловные переходы.   Организация циклов. Условные и безусловные переходы.  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 23:31
Привет! Вот еще темы с ответами:

Изучение С++ (переходы с консолей на винапи) - C++
Всем привет. Давно не делал темы. Вообщем увлекся я самп, начал читерить (с СМ :D), там везде пишут про собейты, мол их писали на С++,...

Организация циклов. Условные и безусловные переходы - Assembler
Здраствуйте! Помогите пожалуйста сделать работы на NASM: Часть 1. http://*************/s/1vcwm Часть 2. Составить алгоритм решения...

Условные и безусловные переходы. Неправильный вывод на экран. - Assembler
Решена небольшая задача, но на экран выводиться не правильный результат. И я пока немогу найти ошибку, может Вы мне поможете? Пожалуйста. ...

Найти сумму четных отрицательных элементов массива, имеющих нечетные индексы (условные, безусловные переходы) - Assembler
Выполнить используя команды сравнения, условного и безусловного переходов: В заданной конечной последовательности целых чисел найти...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.01.2012, 23:31
Ответ Создать тему
Опции темы

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