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

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

Войти
Регистрация
Восстановить пароль
 
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
#1

Реализовать алгоритм - C++

01.06.2014, 14:16. Просмотров 233. Ответов 5
Метки нет (Все метки)

Вообщем-то задание такое. Реализовать алгоритм показанный на картинке:
[]http://i6.pixs.ru/storage/9/2/7/IMG2014060_4178668_12361927.jpg[/]

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
#include "stdafx.h"
 
void main() 
{
    int Y,X;
 
    do
    {
        scanf("%d%d",&X,&Y);
        printf("Vvedennie chisla\n");
        printf("%d %d\n",X, Y);
        if ( (X>1) && (Y>1) )
            break;
    }
    while  ((X==1) && (Y==1));
    do
    {
        Y=((Y*28)%30)*6;
        printf("%d\n",Y);
        if (Y>150)
            break;
    }
    while  ((Y<150) && (Y == 150));
 
             printf("%d \n", Y/X);
}
Не получается после второго условия вводить числа, то есть когда Y получается меньше 150.
Ещё есть одно условие. Код не должен содержать "оператора безусловного перехода (go to)".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 14:16     Реализовать алгоритм
Посмотрите здесь:

Реализовать алгоритм быстрой сортировки C++
Реализовать алгоритм.перебор(дерево) C++
C++ Реализовать рекурсивно алгоритм комбинаторики
Реализовать алгоритм(А*) C++
Реализовать алгоритм Шелла C++
Реализовать алгоритм сортировки C++
Реализовать алгоритм Эратосфена C++
C++ Реализовать алгоритм Ахо-Корасика
C++ Реализовать обобщенный алгоритм Евклида
Реализовать алгоритм Шеннона-Фано C++
C++ Реализовать алгоритм XOR-шифрования
Нужно реализовать Ро-алгоритм Полларда C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
2063 / 1570 / 301
Регистрация: 15.12.2013
Сообщений: 6,204
01.06.2014, 14:25     Реализовать алгоритм #2
G6, а что в алгоритме значит I=1,X,1 ?
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
01.06.2014, 14:26  [ТС]     Реализовать алгоритм #3
Там ошибка, там должно быть Y=1 , X=1
zss
Модератор
Эксперт С++
 Аватар для zss
6115 / 5718 / 1849
Регистрация: 18.12.2011
Сообщений: 14,608
Завершенные тесты: 1
01.06.2014, 14:37     Реализовать алгоритм #4
Цитата Сообщение от G6 Посмотреть сообщение
while ((Y<150) && (Y == 150))
Как одновременно может быть Y<150 и Y Равно 150?
Может
C++
1
while (Y<=150);
S_el
2063 / 1570 / 301
Регистрация: 15.12.2013
Сообщений: 6,204
01.06.2014, 14:43     Реализовать алгоритм #5
G6, а что обозначает 6-ти угольник?Зачем присваивать единичное значение X,Y если в них шагом выше помещают считанное из консоли(файла,...) значение?
G6
2 / 2 / 1
Регистрация: 20.04.2014
Сообщений: 30
01.06.2014, 14:56  [ТС]     Реализовать алгоритм #6
Заметил, только что этот косяк. Сасибо, но я всё равно немного код переоформил:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void main() 
{
    int Y,X;
 
    do
    {
        scanf("%d%d",&X,&Y);
        printf("Vvedennie chisla\n");
        printf("%d %d\n",X, Y);
        if ( (X>1) || (Y>1) )
            {
            Y=((Y*28)%30)*6;
            printf("%d\n",Y);
            if (Y>150){
                break;}
            }
    }
    while  ((X==1) && (Y==1));
 
             printf("%d \n", Y/X);
}
Добавлено через 2 минуты
Мне кажется, это всё опечатки дикие. Задание таково, как понял я. Нужно дать на вход два xxbckf? если они одновременно равны 1, то снова вводить, если не равны одновременно, то дальше считать по формуле, и если получившееся заначение оказалось меньше или равно 150, то ввести числа снова.

Добавлено через 9 минут
Вот, вроде этот код работает, кому не сложно, проверьте.

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 "stdafx.h"
 
 
void main() 
{
    int Y,X;
 
    do
    {
        scanf("%d%d",&X,&Y);
        printf("Vvedennie chisla\n");
        printf("%d %d\n",X, Y);
        if ( (X>1) || (Y>1) )
            {
            Y=((Y*28)%30)*6;
            printf("%d\n",Y);
            if (Y>150){
                break;}
            }
    }
    while  (((X==1) && (Y==1)) || ((Y<150) || (Y==150)));
 
             printf("%d \n", Y/X);
}
Yandex
Объявления
01.06.2014, 14:56     Реализовать алгоритм
Ответ Создать тему
Опции темы

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