PDA

View Full Version : مشکل در اجرای برنامه C++‎



rs2013
شنبه 06 بهمن 1397, 21:13 عصر
با سلام دوستان عزیز دو تا برنامه نوشتم کامل نیست اگر دوستانی کسی میتونی کمک کنه ممنون میشم::گریه:
برنامه اول:
ابزار رنگ آمیزی
قصد داریم یک نرم افزار PAINT بنویسیم. این نرم افزار شامل چند ابزار مختلف برای رنگ آمیزی است. ابزار FILLCOLOR WITH در این نرم افزار به این صورت کار می کند که هنگامی که رنگ یک پیکسل را تغر می دهیدتمامی پیکسل های مجاوری که هم رنگ این پیکسل بودند نیز رنگ جدید به خود می گیرند.برای تکمیل این نرم افزار از شما خواسته شده در نوشتن برنامه این ابزار کمک کنید.تابعی بنویسید که یک آرایه دوبعدی شامل رنگ پیکسل ها و مختصات پیکسلی که قصد تغر رنگ آن را داریم ورنگ جدید را دریافت کرده و به صورت بازگشتی رنگ پیکسل موردنظر و تمامی پیکسل های مجاور و هم رنگ آنرا با رنگ جدید جایگزین کند.
ورودی
در ورودی برنامه ابتدا دو عدد N و M را که به ترتیب ابعاد صفحه نقاشی هستند را دریافت و سپس در N خط بعدو در هر خط M کاراکتر را خوانده که هر کاراکتر به معنی رنگ هر پیکسل است. سپس دو عدد x و y که مختصاتپیکسل مورد نظر است و بعد از آن یک کاراکتر که بیانگر رنگ جدید برای این پیکسل است از ورودی دریافت کنید.
خروجی
در خروجی مقادیر آرایه دوبعدی را چاپ کنید.
ورودی نمونه
۱8 8B B B B Y B B BB W B W B B G GB G G B B G BBYYYYGBGBBBYYGBGWBBYYYYGBWBBBYBBBWBBBYYB44P۱
نهنموجیخرو
BBBBYBBBBWBWBBGGBGGBBGBBBPPPPGBGBBBPPGBGWBBPPPPGBW BBBPBBBWBBBPPB
اینم کد برنامه تا اینجا"

#include<stdio.h>
char p[100][100] , color;
int x , y , m , n ;
void fill()
{
p[x][y] = color;
if (x>0 && p[x-1][y] == color) fill(p[x-1][y]);
if (x<m-1 && p[x+1][y] == color) fill(p[x-2][y-1]);
if (y>0 && p[x][y-1] == color) fill(p[x-1][y]);
if (y<n-1 && p[x][y+1] == color) fill(p[x-1][y-2]);
}
int main()
{
int i , j;
printf("Enter size of array: \n");
scanf("%d%d",&m,&n);


for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("Enter your color: ");
scanf("%c",&p[i][j]);
}


printf("Enter your color and (x,y): \n");
scanf("%c%d%d",&color,&x,&y);
x--;
y--;
fill(p[x][y]);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++);
printf("%c",&p[i][j]);
printf("\n");
}
}
اینم برنامه دوم دوستان
پردازش رشتهمحدودیت زمان:
رشته ی S متشکل از حروف کوچک لاتین (case Lower (با طول N به شما داده شده است. شما باید رشته را باتوجه به قوانین زیر فشرده کنید:1.حرف اول رشته را به فرم case Upper) حرف بزرگ لاتین) تبدیل کنید.2.زیر رشته شامل حروف بی صدا را به طول زیر رشته تبدیل کنید.(برای مثال رشته ی abcde به a3e تبدیل میشود.)3.حروف صدا دار پشت سر هم را حذف کنید.(برای مثال رشته ی aaaaeeeiiia به رشته ی aeia تبدیل می شود.)توجه: حرف اول رشته مشمول قوانین دو و سه نمی شود.
ورودی
در خط اول ورودی عدد T که نشان دهندهی تعداد تست کیس هاست نمایش داده میشود. خط اول هر تستکیس عدد N که نشاندهندهی طول رشتهی S است و خط دوم آن رشته S میباشد.
خروجی
برای هر تست کیس رشتهی فشرده شده را چاپ کنید.
ورودی نمونه ۱
210aaabcdefee15pqrsaeiiiouixyz
خروجی ۱نهنمونه 1
Aa3e1eP3aeioui3
کد برنامه تا الان

#include<stdio.h>

int main()
{
char v[100][100];
int i,j,q=1,n,t;
scanf("%d",&t);
for(j=0;j<t;j++)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%c",&v[t][i]);
}
for(j=0;j<t;j++)
{
if (v[0]>=97 && v[0]<=123)
v[t][0]-=32;
printf("%c",v[0]);
for(i=1;i<n;i++)
if(v[t][i]=='a' || v[t][i]=='e' || v[t][i]=='i' || v[t][i]=='o' || v[t][i]=='u')
if(v[i]==v[i+1]) continue;
else printf("%c",v[i]);
else if (v[t][i+1]=='a' || v[t][i+1]=='e' || v[t][i+1]=='i' || v[t][i+1]=='o' || v[t][i+1]=='u')
{
printf("%d",q);
q=1;
}
else q++;
}
}

farhad_shiri_ex
یک شنبه 07 بهمن 1397, 08:06 صبح
با سلام دوستان عزیز دو تا برنامه نوشتم ولی کمی دچار مشکل شدم اگر دوستانی کسی میتونی کمک کنه ممنون میشم:

خوب توضیحات را ذکر کردید!؟
ولی مشکلتون را که ذکر نکردید؟ الان مشکلتون چی؟

rs2013
یک شنبه 07 بهمن 1397, 12:04 عصر
خوب توضیحات را ذکر کردید!؟
ولی مشکلتون را که ذکر نکردید؟ الان مشکلتون چی؟
سلام ممنون از پیگیریتون
برنامه رو تا یک جایی نوشتم ولی برای ادامه به مشکل خوردم الان این دو تا برنامه ای که نوشتم موقع اجرا خطا میده
اگر دوستان کد این تمرین ها رو دارن ممنون میشم برام ارسال کنید

farhad_shiri_ex
یک شنبه 07 بهمن 1397, 15:47 عصر
سلام ممنون از پیگیریتون
برنامه رو تا یک جایی نوشتم ولی برای ادامه به مشکل خوردم الان این دو تا برنامه ای که نوشتم موقع اجرا خطا میده
اگر دوستان کد این تمرین ها رو دارن ممنون میشم برام ارسال کنید

خوب دوست عزیر پیغام خطا را اینجا قرار بده!
سوالات شما عمومیت نداره که دنبال سورس کد آماده هستید براشون در خوش بینانه ترین حالت شاید فقط شبیه باشه! یا شایدم کسی باشه همکلاس باشه راه حل خودش را برای شما بفرسته!
بنابراین همانطور که عرض کردم از پیغام خطا اسکرین شات بگیر!