HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.10.2008, 19:25
Sharingan
Участник форума
Регистрация: 05.05.2007
Сообщений: 171
Провел на форуме:
1050662

Репутация: 435
Отправить сообщение для Sharingan с помощью ICQ
По умолчанию

еще тут небольшая поправка надо что бы работало как с целыми так и с дробными числами
 
Ответить с цитированием

  #2  
Старый 05.10.2008, 19:47
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

Репутация: 347
По умолчанию

в инете пример видел правда на делфи, думаю перевести на С труда не составит:
http://www.programmersforum.ru/archive/index.php/t-11035.html
 
Ответить с цитированием

  #3  
Старый 05.10.2008, 23:58
Sharingan
Участник форума
Регистрация: 05.05.2007
Сообщений: 171
Провел на форуме:
1050662

Репутация: 435
Отправить сообщение для Sharingan с помощью ICQ
По умолчанию

к сожалению Делфи не знаю, вопрос по прежнему актуален
 
Ответить с цитированием

  #4  
Старый 06.10.2008, 14:13
sv32
Новичок
Регистрация: 06.10.2008
Сообщений: 1
Провел на форуме:
5812

Репутация: 0
По умолчанию

Помогите в Дельфи реализовать плиз.....
програмку авторизации (логин, пароль) с ограничением количества попыток ввода, Если авторизация прошла успешно и пользователь является админом то он может добавить или удалить usera в текстовом файле =)) вот такая вот
 
Ответить с цитированием

  #5  
Старый 06.10.2008, 22:28
Larionich
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме:
249855

Репутация: 52
По умолчанию

Цитата:
Товарищи, нужна помощь, нужен код на С++ переводящий Сиситемы Счисления.
Тоесть как бы из Любой в любую (до 20-ричной) не на прямую, а через десятичную... буду благодарен
Сам бы ты точно не написал... А я осилил ^^
Фича моего кода такая, допустим надо перевести из 2-ной в 16-ную, сначала переводим в из 2-ной в десятичную, потом из десятичной в 16-ную (собственно, как ты и просил). 3 функции, только последняя возвращяет массив символов, первые две возвращают вещественное число. Комментарии я написал, пример использования функций тоже. ^^
Код:
/*переводит дробное число из одной СС в другую
(основание которой меньше 36)*/
#include <iostream>
#include <math.h>
char rezA[255];//буффер под вывод шестнадцатеричной СС
/*переводит из любой СС в десятичную (основание СС, указатель на строку,
с начальным числом*/
double perevod10(int num, char* base)
{
    int n1=0,n2=0,i=0,rez1=0;
    double rez2=0;
    while ( base[++n1] != '.') { }
    for (i=0; i<=n1-1; ++i)
    {
        if ((int)base[i] <= (int)'9')
        {
            rez1+=((int)base[i] - (int)'0') * (int)pow(num,n1-1-i);
        }
        else
        {
            rez1+=((int)base[i] - (int)'A' + 10) * (int)pow(num,n1-1-i);
        }
    }
    while ( base[n1+1+(++n2)] != NULL) { }
    for (i=n1+1; i<=n1+n2; ++i)
    {
        if ((int)base[i] <= (int)'9')
        {
            rez2+=((int)base[i] - (int)'0') * pow(num, -1-(i-n1-1));
        }
        else
        {
            rez2+=((int)base[i] - (int)'A' + 10) * pow(num, -1-(i-n1-1));
        }
    }
    return rez1+rez2;
}
/*переводит из десятичной в СС, основание которой мешьше 10*/
double perevod2 (int num, double base)
{
    const double e=0.01;
    long base_temp1=(long)base,rez1=0,p=1;
    double base_temp2=base - (long)base,rez2=0;
    while (base_temp1!= 0)
    {
        rez1=rez1+ (base_temp1%num)*p;
        base_temp1=base_temp1/num;
        p=p*10;
    }
    while ((base_temp2) > e)
    {
        base_temp2*=num;
        rez2=(rez2 + (long)base_temp2)*0.1;
        base_temp2=base_temp2- (long)base_temp2;
    }
    return rez1+rez2;
}
/*переводит из десятичной в СС, основание которой больше 10*/
char* perevodA (int num, double base)
{
    const double e=0.01;
    char temp;
    long base_temp1=(long)base,rez1=0,k=0,i=0;
    double base_temp2=base - (long)base,rez2=0;
    while (base_temp1!= 0)
    {
        if (base_temp1%num <= 9)
        {
            rezA[i]=(char)(base_temp1%num + (int)('0'));
        }
        else
        {
            rezA[i]=(char)(base_temp1%num + (int)'A' -10);
        }

        base_temp1=base_temp1/num;
        ++i;
    }
    for (k=0; k<i/2; ++k)
    {
        temp=rezA[k];
        rezA[k]=rezA[i-1-k];
        rezA[i-1-k]=temp;
    }
    rezA[i]='.'; ++i;
    while ((base_temp2) > e)
    {
        base_temp2*=num;
        if (base_temp2 <= 9)
        {
            rezA[i]=(char)(base_temp2 + (int)('0'));
        }
        else
        {
            rezA[i]=(char)(base_temp2 + (int)'A' -10);
        }
        base_temp2=base_temp2- (long)base_temp2;
        ++i;
    }
    rezA[i]=NULL;
    return rezA;
}

int main()
{
	std::cout << perevod10(2, "1100.011") << "\n"; //из двоичной в десятичную
    std::cout << perevod10(16, "FF.8") << "\n";//из шестнадцатеричной в десятичную
    std::cout << perevod2(2, 1.625) << "\n";//из десятичной в двоичную
    std::cout << perevodA(16, 255.5) << "\n";//из десятичной в шестнадцатеричную
	return 0;
}
 
Ответить с цитированием

  #6  
Старый 06.10.2008, 22:53
UnPazz
Участник форума
Регистрация: 30.08.2008
Сообщений: 128
Провел на форуме:
668329

Репутация: 106
По умолчанию

Цитата:
Сам бы ты точно не написал... А я осилил ^^
любой осилит если захочет.
 
Ответить с цитированием

  #7  
Старый 07.10.2008, 11:40
AKAdem1c
Новичок
Регистрация: 24.02.2007
Сообщений: 16
Провел на форуме:
91241

Репутация: 31
Отправить сообщение для AKAdem1c с помощью ICQ
По умолчанию

ребят помогите! в матрицах не силен(
9. Описать тип-объект Matrix (матрица произвольной размерности M*n) и его методы: ввод матрицы; вывод матрицы; дублирование столбцов матрицы, где каждый элемент содержит только неповторяющиеся цифры. Описать тип и методы его потомка Matr (методы: дублирование строк матрицы, где количество нулей среди цифр всех чисел строки равно номеру строки; дублирование столбцов матрицы, где все элементы повторяются одинаковое количество раз (замена метода)).
 
Ответить с цитированием

  #8  
Старый 24.10.2008, 21:58
Vanterlog
Постоянный
Регистрация: 28.03.2007
Сообщений: 310
Провел на форуме:
2666600

Репутация: 238
По умолчанию

Срочно нужна помощь
Нада на Visual C++ Программа перевода заданного числа из десятичной системы в двоичную.
Помоите срочно
 
Ответить с цитированием

  #9  
Старый 24.10.2008, 22:04
jawbreaker
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме:
1027635

Репутация: 234
По умолчанию

Держи!
Код:
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string get_binary(int a)
{
	string res = "";
	while(a)
	{
		res += a%2+'0';
		a /= 2;
	}
	reverse(res.begin(), res.end());
	return res;
}
int main()
{
	int a;
	cin >> a;
	cout << get_binary(a) << endl;
	return 0;
}
 
Ответить с цитированием

  #10  
Старый 28.10.2008, 16:36
Anutka
Новичок
Регистрация: 26.10.2008
Сообщений: 9
Провел на форуме:
25836

Репутация: 4
По умолчанию

Люди.Помогите!Пожалуйста.м е срочно нужно решение двух задач на C++:
1) задан массив целых чисел. определим подвектор, как один или несколько последовательных элементов массива. Каждому подвектору поставить в соответствие сумму его элементов. Требуется написать функцию, вычисляющую максимум из сумм подвекторов в массиве.
2) Предложить алгоритм получения всех перестановок целого числа N.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ