Пишем калькулятор!!!****HELP!!!!!!!!!!
Вопросов у сразу два(а может больше)!
1.Как считать числа в сто значащих цифр??
2.Как переводить числа и потом их считать в различных системах исчисления?? :{ :???:
[COLOR=red]ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!![/COLOR]
Вопросов у сразу два(а может больше)!
1.Как считать числа в сто значащих цифр??
2.Как переводить числа и потом их считать в различных системах исчисления?? :{ :???:
В столбик, это не шутка, а по переводу в какие именно?
[COLOR=red]ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!![/COLOR]
Вопросов у сразу два(а может больше)!
1.Как считать числа в сто значащих цифр??
2.Как переводить числа и потом их считать в различных системах исчисления?? :{ :???:
пиши на icq 325540316. в форуме неприкольно пространные ответы давать. либо на
[EMAIL]sql82@list.ru[/EMAIL]
В столбик, это не шутка, а по переводу в какие именно?
Как это в столбик,массивы чисел что-ли?
В двоичною,восьмеричную,шестнадцетиричную.
8)
[COLOR=red]ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!![/COLOR]
Вопросов у сразу два(а может больше)!
1.Как считать числа в сто значащих цифр??
2.Как переводить числа и потом их считать в различных системах исчисления?? :{ :???:
Числа нужно хранить в массивах размерности 100 (по одной цифирке) и работать с ними поэлементно.
И считай себе спокойненько в столбик.
А по поводу перевода в двоичную:
Например у нас есть число 5.Делим его на 2 пока не останется число меньше 1.Например для 5 и 120:
5 2 1 | 120 60 30 15 7 3 1
- - - | --- -- -- -- - - -
2 2 2 | 2 2 2 2 2 2 2
- - - | - - - - - - -
1 0 1 | 0 0 0 1 1 1 1
---------------------------------------
101б=5д
1111000б=120д
Просто?
С 16 и 8 ричной я ешё сам не разобрался.
Буду рад еси добрые люди помогут.:)
Создавай масив на сто элементов.
И считай себе спокойненько в столбик.
А по поводу перевода в двоичную:
Например у нас есть число 5.Делим его на 2 пока не останется число меньше 1.Например для 5 и 120:
5 2 1 | 120 60 30 15 7 3 1
- - - | --- -- -- -- - - -
2 2 2 | 2 2 2 2 2 2 2
- - - | - - - - - - -
1 0 1 | 0 0 0 1 1 1 1
---------------------------------------
101б=5д
1111000б=120д
Просто?
С 16 и 8 ричной я ешё сам не разобрался.
Буду рад еси добрые люди помогут.:)
с остальными - тоже самое... например: число 17
17 |16
--------
16 | 1
1 ===> 11
да, надо писать класс, в котором число будет представлено как массив цифр... а потом делать все операции сложение, вычитание и т.д. кстати где-то в иннете я уже встречал упоминание о такой библиотеке
Я уже почти разобрался с этим вопросом,но у меня с классами проблема:никак не пойму как с ними работать.Дайте пожалйста ссылку на простенькие исходники, в которых используются классы(учебники не надо, у меня их куча). :}
Или это дз?
НУ со структурами ты работать умееш?
Еси умееш от с класами тоже очень просто -
class MyClass
{
int x,y;//Закрытые эл.
/*Получить доступ к х и у можно только через функцию класса */
public :
int a,b; // Открытые эл.
//Доступ можно получить с любого места проги
void function(a,b);
};
void MyClass::function(a,b)
{
x=a; // Правильно
y=b; // Правильно
}
MyClass a;
int main()
{
a.a=a.x ;//Error
a.b=a.y; //Error
int ax=44,bx=12;
a.function(ax,bx);
}
Просто?
А начерта в калькуляторе классы?
Или это дз?
НУ со структурами ты работать умееш?
Еси умееш от с класами тоже очень просто -
class MyClass
{
int x,y;//Закрытые эл.
/*Получить доступ к х и у можно только через функцию класса */
public :
int a,b; // Открытые эл.
//Доступ можно получить с любого места проги
void function(a,b);
};
void MyClass::function(a,b)
{
x=a; // Правильно
y=b; // Правильно
}
MyClass a;
int main()
{
a.a=a.x ;//Error
a.b=a.y; //Error
int ax=44,bx=12;
a.function(ax,bx);
}
Просто?
Вот как раз на таком уровне я и понимаю, а чуть посложнее...
Поэтому лучше хороший исходник с комментариями.
Всмысле с наследование и полиморфизмом?
Теоритечески я все понял, на легких примерах тоже, но что свое написать не могу. Нужен не очень сложный, но и не очень простой исходник(без использования MFC, VCL).
Например если надод сложить два числа размером
n и m :
int mas1[n]={n1,n2,n3,...,nn};//это есть твое число причем n1-это самый старший разряд
int mas2[m]={m1,m2,m3,...,mm};
int k=0;
if n>m then k=m;
else k=n;
int mas3[k+1];
for (int i=k-1;i++;i>0)
{
mas3[k]=mas[k]+mas2[k];
if (mas3[k]>9) {
mas3[k]-=9;
l=1;
}
if (l==1) mas3[k-1]+=1;
l=0;
}
где-то так.
В результате в mas3 будет содеожаться сумма этих двух чисел
если утебя числа выходят заграницу типов тогда задавай массив под каждое число.
Например если надод сложить два числа размером
n и m :
int mas1[n]={n1,n2,n3,...,nn};//это есть твое число причем n1-это самый старший разряд
int mas2[m]={m1,m2,m3,...,mm};
int k=0;
if n>m then k=m;
else k=n;
int mas3[k+1];
for (int i=k-1;i++;i>0)
{
mas3[k]=mas[k]+mas2[k];
if (mas3[k]>9) {
mas3[k]-=9;
l=1;
}
if (l==1) mas3[k-1]+=1;
l=0;
}
где-то так.
В результате в mas3 будет содеожаться сумма этих двух чисел
Спасибо за помощь, но я уже почти во всем разобрался.:D