проблема с работой функции в цикле

Тема в разделе "Общие вопросы по С и С++", создана пользователем messsir, 14 май 2008.

  1. messsir

    messsir Гость

    доброго времени суток))
    есть такая проблема... написал нужную мне функцию. в мейне проверил ее работоспособность с одной переменной. отлично работает.
    но мне нужно, чтобы она работала некоторым количеством переменных m, числовое значение которых формируется из указателя *mes по 6 разрядов. то есть, если в mes={1,2,3,4,5,6,7,8,9,1,2,3}, то должно сформироваться m в цикле два раза.... один раз m будет равна 123456, а второй раз m будет равна 789123. m формируется отлично, а вот при отправке m в функцию crypt все начинает работать неправильно.

    собственно, вот цикл
    Код (Text):
    while(i<size_mes){
    m=0;
    if((size_mes-i)<6)
    for(; i<size_mes; ++i)
    m=m*10+mes[i];
    else{
    m=m*10+mes[i];
    ++i;
    m=m*10+mes[i];
    ++i;
    m=m*10+mes[i];
    ++i;
    m=m*10+mes[i];
    ++i;
    m=m*10+mes[i];
    ++i;
    m=m*10+mes[i];
    ++i;
    }
    printf("\nm=%ld ", m);
    c=crypt(m, num_e, n, size);
    printf("\n%ld ", c);

    }
    size_mes - длина указателя mes
    вот функция crypt:
    Код (Text):
    unsigned long int crypt(unsigned long int m, const char *num, const unsigned long int n, const int size){
    unsigned long int c;
    c=m;
    i=0;
    if(num[i]==1)
    i=1;
    else
    i=0;
    for(; i<size; ++i){
    if(num[i]){
    m=(m*m)%n;
    m=(m*c)%n;
    }
    else{
    m=(m*m)%n;
    }
    }
    return m;
    }
    сама программа:
    Посмотреть вложение 1.c

    заранее благодарю за помощь
     
  2. dpi

    dpi Гость

    Поменяй в функции индекс i на j
     
  3. messsir

    messsir Гость

    а))) я тупанул, спасибо большое)
     
Загрузка...
Похожие Темы - проблема работой функции
  1. c0de3r
    Ответов:
    4
    Просмотров:
    112
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    132
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    120
  4. Artael
    Ответов:
    1
    Просмотров:
    108
  5. ENSLER
    Ответов:
    0
    Просмотров:
    101

Поделиться этой страницей