PDA

View Full Version : ضرب دو عدد كوچكتر از 4 - بدون استفاده از نوع هاي عددي و فقط با نوع char



merlin_vista
دوشنبه 06 مهر 1388, 23:15 عصر
سلام :
يه راهنمايي ميخواستم كه بتون برنامه اي بنويسم كه ضرب 2 عدد ( براي سادگي كار كوچك تر از 4 ) را بدون متغير هاي نوع عددي int و ... انجام دهد .

از دوستاني كه من را راهنمايي كنند بسيار سپاس گزار هستم

afi_program
دوشنبه 06 مهر 1388, 23:54 عصر
راستش درست متوجه نشدم اگه بیشتر توضیح بدی ممنون میشم.امیدوارم بتونم کمک کنم.
موفق باشی

deopen
چهارشنبه 08 مهر 1388, 11:48 صبح
خیلی سادست :


#include<iostream>
using std::cout;
using std::cin;

#include<windows.h>


int main()
{
char in1[2],in2[2],o[2];

cout<<"enter input 1 : ";cin>>in1;
cout<<"\nenter input 2 : ";cin>>in2; cout<<"\n";

o[0]=((in1[0]-48)*(in2[0]-48))+48;
o[1]=NULL;

cout<<o;

system("pause");
return 0;
}اختلاف بین عدد و کد ascci برابر 48 میباشد بعد از تفریق از 48 برای دوباره برگرداندن آن به ascii دوباره با 48 جمع میکنیم

deopen
چهارشنبه 08 مهر 1388, 12:23 عصر
این هم برای اعداد زیر 10 :


#include<iostream>
using std::cout;
using std::cin;

#include<windows.h>


int main()
{
unsigned char in1[2],in2[2],o[2],o2[2]="";
unsigned char bff;

cout<<"enter input 1 : ";cin>>in1;
cout<<"\nenter input 2 : ";cin>>in2; cout<<"\n";

o[0]=((in1[0]-48)*(in2[0]-48));

if (o[0]>9) {
bff=(o[0]/10);
o[0]-=(bff*10);
o2[0]=bff;
o2[0]+=48;
}

o[0]+=48;

o2[1]=NULL;
o[1]=NULL;


cout<<in1<<"*"<<in2<<"="<<o2<<o<<"\n\n";

system("pause");
return 0;
}