Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2012, 22:22   #21
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

С VS2010 помочь не могу (у меня его нет).
Соответственно, в КодБлокс все работает.
Подождем гуру Вижуал Студии
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 15.04.2012, 10:38   #22
Immoralist
Подтвердите свой е-майл
 
Регистрация: 14.04.2012
Сообщений: 38
По умолчанию

2 задача заработала...как исправил хз))
1,4 тоже самое...
Нашел бинарный алгоритм Евклида, но не понимаю как он работает объясните:
PHP код:
#include "stdafx.h"
#include "stdio.h"
#include "locale.h"

int NOD(int a,int b);

void main()
{
    
setlocale(LC_ALL,"Russian");
    
int a,b,x;
    
printf("Введите числа:\n");
    
scanf("%d",&a);
    
scanf("%d",&b);
    
x=NOD(a,b);
    
printf("НОД=%d\n",x);
}

int NOD(int aint b)
{
    
int set=0;
    if (
a==0||b==0) return a|b//возвращаем не нулевой эл.
    
while (((a|b)&1)==0)
    {
        
set++;
        
a>>=1;
        
b>>=1;
    }
    while (
a&&b)
    {
        if (
b&1)
            while ((
a&1)==0a>>=1;
        else
            while ((
b&1)==0b>>=1;
        if (
a>=ba=(a-b)>>1;
        else 
b=(b-a)>>1;
    }
    return ((
a|b)<<set);

Меня интересует сама функция NOD,её каждое действие, и операторы << >> <<= >>= ,как я понял это уже С++?
Immoralist вне форума Ответить с цитированием
Старый 15.04.2012, 10:50   #23
Bogdand
-_-
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 35
По умолчанию

Цитата:
Меня интересует сама функция NOD,её каждое действие, и операторы << >> <<= >>= ,как я понял это уже С++?
Это си) погугли побитовый сдвиг)
Bogdand вне форума Ответить с цитированием
Старый 15.04.2012, 11:19   #24
Immoralist
Подтвердите свой е-майл
 
Регистрация: 14.04.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Bogdand Посмотреть сообщение
Это си) погугли побитовый сдвиг)
Гуглил, там написано что-то типа: << сдвигает двоичное представление первого операнда влево на количество двоичных разрядов заданное вторым операндом .
Ну и пусть сдвигает, мне то какая польза?))
Что вообще значит вот эта строчка: while ((b&1)==0) b>>=1;
Immoralist вне форума Ответить с цитированием
Старый 15.04.2012, 11:28   #25
Bogdand
-_-
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 35
По умолчанию

Вот не знаю я не читал алгоритма) ну как только b будет = 1 while прекратить плодить итерации и двоичное представление b сдвинется вправо на кол-во итераций ))))
Bogdand вне форума Ответить с цитированием
Старый 15.04.2012, 11:54   #26
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

while ((b&1)==0) b>>=1;
Эта строчка делает следующее - если в двоичном представлении число оканчивается на 0, то сдвигаем на 1 разряд вправо. Если же перевести на русский, то, если b - четное, то поделим на 2.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 16.04.2012, 16:23   #27
Immoralist
Подтвердите свой е-майл
 
Регистрация: 14.04.2012
Сообщений: 38
По умолчанию

Проблема в задачах была из-за строки, ну и ещё из-за небольших "помарок"...))
PHP код:
setlocale(LC_ALL,"Russian"); 
Вопрос исчерпан, спасибо всем...

Последний раз редактировалось Immoralist; 16.04.2012 в 19:00.
Immoralist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
линейный массив. найдите ошибки в задачах! rtif Помощь студентам 5 21.03.2012 22:08
нужно написать программу на фортране по теме вложенные циклы в матричных задачах. lenahan Помощь студентам 0 14.02.2012 18:49
Вложенные циклы в матричных задачах. Kto to Помощь студентам 0 16.12.2011 18:28
Найдите ошибку C++ D.176 Помощь студентам 1 24.05.2011 07:31
Найдите ошибку vladxxl Общие вопросы C/C++ 1 23.04.2011 17:09