PDA

View Full Version : کمک برای نوستن برنامه ای که کاراکتری 200 حرفی میگره کدینگش میکنه بد دی کدش میکنه



shahroozansari2012
یک شنبه 17 اردیبهشت 1391, 16:07 عصر
#include "stdafx.h"
#include <conio.h>
#include<iostream>
using std::cout;
using std::cin;

int _tmain(int argc, _TCHAR* argv[])
{
int a[199],b[199],i;
char ch[199],cz[199],z[199],g[199];
cout<<"enter first\n";
cin.get(ch,200);

for (i=0;i<=199;i++)
{
a[i]=ch[i]+i;
}
for (i=0;i<=199;i++)
{
cout<<a[i];
}
cout<<"\n";

for (i=0;i<=199;i++)
{
z[i]=a[i]-i;
}
cout<<"\n";
for (i=0;i<=199;i++)
{
if(z[i]==-52)
{
cout<<" ";
}
else
{
cout<<z[i];
}

}
getch ();
return 0;
}


مشکل من کجاست تو کامپایلر درست کار می کنه ولی وقتی ریلیزش میکنم به جای فاصله کد های عجیب مینوسیه
کامپایلر من ویژوال 2010

shahmohammadi
یک شنبه 17 اردیبهشت 1391, 22:56 عصر
سلام.
كل برنامه رو كه بررسي نكردم ولي در كار با آرايه طولش رو درست ننوشتيد.
وقتي آرايه رو به صورت a[200] تعريف كنيد، اعضاش از 0 تا 199 هستند. شما آرايه رو a[199] تعريف كرديد كه اعضاش 0 تا 198 هست بعد در حلقه فور از 0 تا 199 رو رفتيد. كافيه كه آرايه رو 200 بگيريد بعد فور رو به صورت i=0;i<200 بريد.

vistacali
دوشنبه 18 اردیبهشت 1391, 01:15 صبح
#include "stdafx.h"
#include <conio.h>
#include<iostream>
#define n 199
using std::cout;
using std::cin;

int _tmain(int argc, _TCHAR* argv[])
{
int a[n],b[n],i;
char ch[n],cz[n],z[n],g[n];
cout<<"enter first\n";
cin.get(ch,n);

for (i=0;i<n;i++)
a[i]=ch[i]+i;

for (i=0;a[i];i++)
cout<<a[i];

cout<<"\n";

for (i=0;a[i];i++)
z[i]=a[i]-i;

cout<<"\n";

for (i=0;i<n;i++)
{
if(z[i]==-52)
cout<<" ";
else
cout<<z[i];
}
getch ();
return 0;
}


دوست گرامی کمی تغییر دادم ببین الان همون که میخوای رو میده بهت میشه بگی وقتی مثلا کلمه ali رو وارد کردی میخوای چیکارش کنه الان به نظر من درسته اگر نبود بگو تا کاملش کنم

shahroozansari2012
دوشنبه 18 اردیبهشت 1391, 13:27 عصر
این کد بازم ارور میده میخوام کاراکتری رو بگیرم و بعد به کد اسکی تبدیل کنم و تغیراتی رو بدم بد چاپش کنم بد این تغییراتو برشگردونم بد به کاراکتر تبدیلش کنم ولی این تغییراتی که دادی بازم مشکل داره تو کامپایلر درست کار میکنه ولی وقتی ریلیزش میکنم به جای فاصله کلمات عجیبی میاره

vistacali
دوشنبه 18 اردیبهشت 1391, 14:10 عصر
این کد بازم ارور میده میخوام کاراکتری رو بگیرم و بعد به کد اسکی تبدیل کنم و تغیراتی رو بدم بد چاپش کنم بد این تغییراتو برشگردونم بد به کاراکتر تبدیلش کنم ولی این تغییراتی که دادی بازم مشکل داره تو کامپایلر درست کار میکنه ولی وقتی ریلیزش میکنم به جای فاصله کلمات عجیبی میاره

دوست گرامی الان این همون کارتون رو میکنه؟ اگر نه کجاش مشکل داره چیزی که شما میخواید دقیقا این هست وبرای همه کاراکترها هم صدق میکنه


86769


#include<iostream>
#define N 200
using namespace std;
int main()
{
int a[N]={0},i;
char ch1[N];

cout<<"Enter Sententes:\n";
cin.get(ch1,N);

for (i=0;ch1[i];i++)
a[i]=ch1[i]*2;

cout<<"AsciiCode *2: ";
for (i=0;a[i];i++)
cout<<a[i]<<"\t";

for (i=0;a[i];i++)
a[i]/=2;
cout<<"\nAsciiCode Asli: ";
for (i=0;a[i];i++)
cout<<a[i]<<"\t";

return 0;
}

shahroozansari2012
دوشنبه 18 اردیبهشت 1391, 20:13 عصر
دوست عزیز شما بعد از تغییراتی که دادید یعنی کاراکترو به کد اسکی تبدیل کردید بعد باید کد اسکی در برنامه به کاراکتر تبدیل بشه. جالب اینجاست وقی تعدادی حوف میزنم و بقیه آرایه رو خالی می زارم
در کامپایلر درست اجرا میشه ولی وقتی ریلیزش میکنم درست کار نمیکنه و به جای فاصله کد های عجیبی میزنه

این موقعی که تو کامپایلر اجراش میکنم
http://www.pic1.iran-forum.ir/images/up5/20291735953953964318_thumb.png (http://www.pic1.iran-forum.ir/viewer.php?file=20291735953953964318.png)
واینم موقعی که رلیز شدشو انتخاب میکنم
http://www.pic1.iran-forum.ir/images/up5/94666522236942698083_thumb.png (http://www.pic1.iran-forum.ir/viewer.php?file=94666522236942698083.png)

vistacali
دوشنبه 18 اردیبهشت 1391, 22:21 عصر
خب درسته برنامه کد اسکی تولید میکنه که در حافظه نیست بخاطر همین چیزای عجیب میزنه مثلا توی کد بالا a رو وارد کن کد اسکی اون 97 است حالا اون کد ور در 2 ضرب کن این کد اسکی مربوط به کاراکتر قلب است حالا من یه پیشنهاد بهت میدم بیا برای اینکه این مشکل رو نخوری ولی کاراکتر رو وارد کردی در هم ریختش کن مثلا ali رو دریافت کن و ali حروفش رو جابه جا کن و بعد چاپ کن این قسمت رمز نگاری حالا بازم کاراکترات رو برگردون به شکل اول و چاپ کن این اون مشکل حالا این پوشه release رو پاک کن و دوباره کدت رو کامپایل کن باید درست بشه / اصلان نباید همچنین مشکلی رو داشته باشی / موفق باشی سالی بود درخدمتم

shahroozansari2012
سه شنبه 19 اردیبهشت 1391, 17:39 عصر
با تشکر از دوست عزیز
اگه دقت کنی تغییراتی که دادمو تو ادامه برگردوندم سر ه جاش.
ولی در عجبم وقتی تو کامپایلر اجرا می کنم درست کار میکنه ولی رلیزش میکنم جواب نمیده.
لطفا اگه جوابی دارید بگید دارم دیونه میشم.