مبنا x , y

ninjaghaleb

Member
با سلام
من یک برنامه ای با C++ نوشتم که مبنای 2 رو بدست میاره
کد:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void ma(int n);
main()
{
int n;
cin>>n;
ma(n);
}
void ma(int n)
{
int m,i,j;
i=40;
j=3;
while (n>0)
{
m=n%2;
 gotoxy(i,j);
cout<<m;
n=n/2;
--i ;
}
}

حالا می خوام مبنای به دست اومده به مبنا 8 برسه:4:

هر کاری می کنم نمشه:5:

لطفا کمکم کنید:0:
 

the_king

مدیرکل انجمن
کد:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void ma(int n);
main()
{
int n;
cin>>n;
ma(n);
}
void ma(int n)
{
int m,i,j;
i=40;
j=3;
while (n>0)
{
m=n%8;
 gotoxy(i,j);
cout<<m;
n=n/8;
--i ;
}
}
 

ninjaghaleb

Member
با سلام

دوست عزیز انگار شما خوب متوجه نشدید

من می خواهم در همان برنامه ای که همان بالا من نوشتم یکه تابع اضافه کنم
که مبنای 2 بدست آمده در همان برنامه به مبنای 8 هم برسد

با تشکر
 

the_king

مدیرکل انجمن
با سلام

دوست عزیز انگار شما خوب متوجه نشدید

من می خواهم در همان برنامه ای که همان بالا من نوشتم یکه تابع اضافه کنم
که مبنای 2 بدست آمده در همان برنامه به مبنای 8 هم برسد

با تشکر

در کد تابعی که نوشتید ارقام عدد مبنای 2 صرفا نمایش داده می شوند و جایی ذخیره نمی شوند که بشه
به مبنای دیگری تبدیل کرد.

یک نگاهی یه این تاپیک بندازید :

تغییر مبنای عدد!!
 

ninjaghaleb

Member
پس اینطور

حالا هرجور میشه که نوشت من این برنامه رو میخوام

این برنامه به این صورته

124 ---->مبنای 2 ----> 1111100


حالا می خوام این 1111100 به مبنای دیگه ای برسه

با تشکر
 

the_king

مدیرکل انجمن
پس اینطور

حالا هرجور میشه که نوشت من این برنامه رو میخوام

این برنامه به این صورته

124 ---->مبنای 2 ----> 1111100


حالا می خوام این 1111100 به مبنای دیگه ای برسه

با تشکر

اون کدی که معرفی کردم که محدودیتی نداره، از هر مبنایی به هر مبنای دیگه ای می تونه تبدیل کنه،
چه یکبار و چه چند بار. از همون کدی که در تاپیک "تغییر مبنای عدد!!" معرفی شده استفاده کنید دیگه.

کد:
void main()
{
   char num1[40], num2[40];
   int newbase;
   clrscr();
   printf("Please enter a number (decimal) : ");
   gets(num1);
   DecimalToNum(NumToDecimal(num1, 10), num2, 2);
   printf("binary = %s\n", num2);
   printf("Please enter new base (2 to 16) : ");
   scanf("%d", &newbase);
   DecimalToNum(NumToDecimal(num2, 2), num1, newbase);
   printf("number (base %d) = %s\n", newbase, num1);
   getch();
}
 

ninjaghaleb

Member
با عرض معذرت

کد این برنامه رو کامل برام بزارین در همین تایپیک

آخه من فردا دو تا امتحان دارم ، این برنامه رو هم باید تحویل بدم

خیلی خیلی ممنون the_king جان

با تشکر
 

جدیدترین ارسال ها

بالا