PDA

View Full Version : سوال: حدف ارقام تکراری عدد دوم موجود در عدد اول



zix_zixi
شنبه 16 فروردین 1393, 17:58 عصر
با سلام
برنامه ای بنویسید که هر گاه 2 عدد مثبت و صحیح (اعشاری نباشد) از ورودی بخواند (پایان داده ها با عدد منفی) کار برنامه آن است که کلیه ارقام موجود در عدد اول که در عدد دوم وجود دارد را از عدد دوم حدف نماید و 2 عدد خوانده شده را همراه با عدد دومی که به شکل فوق بدست می آید در خروجی چاپ کند و در غیر اینصورت2 عدد خوانده شده را همراه با پیامی مناسب چاپ کند؟

این کد مشکلی داره؟

int x,y,z,k,m,n,p,i=0;
scanf ("%d",&x);
z=x;
scanf(%d,&y);
k=y;
if(x<0||y<0)
return 0
while x!=0)
{
p=x%10;
x=x/10;
loop1
m=y%10;
y=y/10;
do
{
if(p==m)
n=k-(p*(10^i))
else
{
i++
goto loop1
}
}
y=k;
i=0;
}
if(n==k)
printf("not found","%d%d",z,k)
else
printf("%d%d%d",z,k,n)
getch();
return 0;
}

zix_zixi
یک شنبه 17 فروردین 1393, 06:48 صبح
بزرگواری نیست جواب این مساله رو بده؟
ممنون میشم

ali chegini
یک شنبه 17 فروردین 1393, 21:48 عصر
سلام.
من این طوری نوشتم.

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char* argv[])
{

int x,y;
cout << "enter two number : " << endl;

cin >> x;
cin >> y;

char c1[50];
char c2[50];
c1[0]='\0';
c2[0]='\0';
itoa(x,c1,10);
itoa(y,c2,10);

string w1(c1);
string w2(c2);
string w3;


for(int i=0;i<w1.length();i++)
{
for(int j=0;j<w2.length();j++)
{
if(w1[i] == w2[j])
{
w2[j]='F';
}
}
}

for(int k=0;k<w2.length();k++)
{
if(w2[k]!='F')
{
w3+=w2[k];
}
}

cout <<"one : " << w1 << " two : " << w2 << " res : " << w3<< endl;


return 0;
}