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

Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? - C++

Восстановить пароль Регистрация
 
Иван6
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
09.01.2013, 10:47     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? #1
Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 10:47     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF?
Посмотрите здесь:

C++ Как строку можно преобразовать в число???
C++ разработать алгоритм и программу для опредиления процента повторения заданого слова в тексте(как разделители слов можно использовать символы запятая,
Как переделать програму с предусловием в с постусловие ? C++
Алгоритмы с неразветвленным телом цикла Разработать алгоритм и программу с единственным циклом для обработки одномерных массивов. C++
C++ Можно ли циклом добавить свои 100 файлов в главный файл проекта
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.01.2013, 10:51     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? #2
условный оператор if не предназначен для циклов, он предназначен для ветвления, а писать программы с goto, это не совсем с if

Добавлено через 49 секунд
единственное адекватное если записать рекурсивную функцию где будет условие выхода, но опять таки одним if не обойтись
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.01.2013, 11:01     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? #3
например так:
C++
1
2
3
4
for (i=0; i<n; ++i)
{
 /*Тело цикла*/
}
превращается в
C++
1
2
3
4
5
6
7
8
9
i=0;
if (i>=n)
 goto el;
l:/*тело цикла*/
 ++i;
el: if (i<n)
{
 goto l;
}
. Но это пример, как делать не надо.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
09.01.2013, 11:02     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main() {
    int counter = 0;
    int maximalValue = 25;
    
    label: 
    if (counter < maximalValue) {
                std::cout << counter << " ";
                counter++;
                goto label;
    }
    
    system("pause");
    return 0;
}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.01.2013, 11:06     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? #5
Не прочитал вид цикла. Но раз с предусловием, тогда так:
C++
1
2
3
4
while (/*условие*/)
{
 /*Тело цикла*/
}
превращается в
C++
1
2
3
4
5
6
if (!(/*условие*/))
{
 goto le;
}
/*Тело цикла*/
le:...
. Но и так делать не надо.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.01.2013, 11:19     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF? #6
я тогда напишу с рекурсией
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int sum(int begin,int end) {//например хотим посчитать сумму чисел от begin до end
 int sum = 0;
 if (end > begin){
   sum += sum(begin,end--)
 } else {
  return end;
 }
 return sum;
}
 
int main() {
    int begin;
    int end;
    
    std::cin>> begin >> end;
    std::cout <<  sum(begin,end)<<endl;
    
    system("pause");
    return 0;
}
Yandex
Объявления
09.01.2013, 11:19     Как можно преобразовать алгоритм с циклом с предусловием конструкцией с IF?
Ответ Создать тему
Опции темы

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