بچه ها صورت سؤال رو هم بگيد تا ببينيم چه ميشه كرد.
ايول.ايشالا داره پا ميگيره اين تاپيك.
ممنون
Printable View
بچه ها صورت سؤال رو هم بگيد تا ببينيم چه ميشه كرد.
ايول.ايشالا داره پا ميگيره اين تاپيك.
ممنون
من که گفتم هر شنبه صورت سوال قرار می گیرهنقل قول:
نقل قول:
پس اين چيه؟
ميشه بگيد چيكار ميكنه؟
كد ها رو ميگم.
سلام
این کد مربوط به همون مسابقه اوله که در کد دوم حجمش کمتر شده البطه نقصهم داشت که حامد جان اشاره کرده بود اگه تونستم هم نقصشو رفع کنم و هم حجمشو کم کنم (ولی با این الگریتم فکر کنم سخته ) کد جدیدو دوباره می زارم وگرنه به اومید خدا هفته آینده :12:
ميگم نميشه سؤالو زودتر بگيد؟
من اين هفته از شنبه بيرونم نميفهمم سؤالو.
ممنون
خوب، اینم صورت سوال این هفته. بنا به در خواستتون دیگه کد نمونه نمی ذارم.(یا نمی زارم!)
صورت سوال:
به ساختار مجموعه های زیر توجه کنید:
دور اول:
0
1
دور دوم:
00
01
11
10
دور سوم:
000
001
011
010
110
111
101
100
دور چهارم:
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
اگر به این اعداد دقت کرده باشید در هر مرحله اعداد مرحله قبل یک بار به همان صورت و یک با به صورت بر عکس قرار می گیرند و سپس به انتهای دسته اول 0 و به انتهای دسته دوم 1 اضافه می شود.
برنامه شما باید دو عدد n و m را از ورودی دریافت کند و mامین عدد دور nام را در مبنای ده به ما بدهد.
n حداکثر 8 می با شد.
ورودی نمونه
خروجی نمونهکد:4 5
کد:6
دوست عزیز با توضیحاتی که دادی فکر کنم مرحله اول رو اشتباه نوشتی و باید به این صورت باشه:
کد:0
1
بله حق با شما بود.
ممنون
سلام
چرا کسی کد نمی فرسته؟
خودتون خواسته بودین کد نمونه نفرستم.
مشکل چیه؟ سوال سخته؟
سلام حامد جان
عزیز در مورد خود من که یکم همت پایینه و اینکه این هفته خدایی سرم شدید شلوغ بود و اینکه تازه دارم به دنیای لینوکس وارد میشم و تازه تازه دارم این دنیا رو درک میکنم همش این چند روزه تو لینوکسم و سرگرم کار کردن با اون به دوستانی که با لینوکس کار نکردن پیشنهاد میکنم اصلا از دستش ندن:46:
سعی می کنم تو این چند روز یه کاراییش بکنم سوال رو
سلام
این جواب منه
راستی حجم کد رو چجوری باید حساب کرد؟کد:
#include "stdio.h"
#include "conio.h"
int main()
{
int m,n;
scanf("%i%i",&n,&m );
printf("%i",m<=n*2 ?m-1:-1);
getch();
return 0;
}
سلام، برنامه شما ورودی نمونه رو درست جواب نمیده.
برای حساب کردن حجم کد به لینک زیر مراجعه شود:
کد:http://hamedvalizadeh.byethost17.com/code-size.php
دوست عزیز من برنامتو امتحان کردم فکر کنم درست جواب نمی دادنقل قول:
من 4 و 5 رو وارد کردم اما 4 جواب داد در صورتی که باید 6 جواب می داد. حتی جواب منفی هم از برنامت گرفتم
من این برنامه رو نوشتم فقط شرمنده که دیر شد گفتم که شدیدا این هفته سرم شلوغ بود
حجم کد :351
البته با برداشتن یه سری از خط ها مثل :کد:#include <iostream>
#include <math.h>
using namespace std;
double tabe(double,double);
int main()
{
double n,m;
cout<<"Please Enter N:";
cin>>m;
cout<<"Please Enter M:";
cin>>n;
cout<<tabe(n,m)<<endl;
return 0;
}
double tabe(double n,double m)
{
if(m==1)
if(n==1)
return 0;
else
return 1;
else
if(n<=pow(2,m-1))
return tabe(n,m-1);
else
return ((int)tabe(pow(2,m)-n+1,m-1) | (int)pow(2,m-1));
}
کد:cout<<"Please Enter N:";
حجم کد پایین تر می آد:46:کد:cout<<"Please Enter M:";
حامد جان ایشالا سوال هفته بعد رو زود تر بذاری
این دفعه زود تر شروع میکنم و ایشالا دوستان بیشتری ما رو همراهی خواهند کرد
حامد جان منتظر سوال هفته بعد هستیم
ورودی
3z
خروجی
zzz
ورودی
4a3b
خروجی
aaaabbb
ورودی
1a
خروجی
a
ورودی
abc2a
خروجی
abcaa
باتوجه به ورودی و خروجی های بالا یک برنامه بنویسید که یک رشته را دریافت کرده و مانند بالا عمل کند. حد اکثر طول رشته 10 کاراکتر می باشد.
اعداد قبل از حروف بین 1 تا 9 می باشند.
سلام بچه ها
هستم نیستم بازی خرابه.
این یعنی منم هستم.(البته اگه اجازه بدین)
این جا برای همه آزاده، خوشحال می شم به جمعمون بپیوندین
حجم کد: 198
کد:#include <iostream>
using namespace std;
int main(){
char str[11];
cin >> str;
int k,j,i = 0;
while(str[i] != 0){
k = str[i] - 48;
if(0 < k && k <= 9){
for(j = 0; j < k; j++)
cout << str[i + 1];
i += 2;
}
else
cout << str[i++];
}
cout << endl;
return 0;
}
سلام
این کد اولییه اگه شد mp3 یا mp4 رو هم میفرستم
حجم :217
راستی می بخشید که هفته پیش جواب ندادم راستش هم سخت بود هم من فکرم درگیرکد:#include <iostream.h>
void main()
{
char a[10];
cin >>a;
int i=0,t,z;
while (a[i]!= NULL)
{
if (a[i]>=49 && a[i]<= 57)
{
t=++i;
for (z=48;z<a[t-1];z++)
{
i=t;
while (!(a[i]>49 && a[i]<57)&& a[i]!='\x0')
{
cout <<a[i];
i++;
}
}
}
else
{cout << a[i];
i++;
}
}
}
موفق باشید:11:
سلام آقای r.gh45 من وقتی به کدتون 1a1a رو می دم جواب میده a1a این مشکل رو برطرف کنین.
سلام آقای mahdi_pc کوتاه کردن کد یعنی این که تا آخرین حدی که می تونین کد رو کوتاه کنین یعنی مثلا به جای str از s استفاده کنین یا به جای while(str[i]!=0) از while(str[i]) استفاده کنین.
کدی که من نوشته ام حجمش 138 تا هست. که انشالا پایان هفته پستش می کنم.
ممنون
سلام
می شه c++ 4.5 IN WIN رو برای دانلود برای من بزارین
حجم 207
من تست کردم درست جواب داد برای 1a1aکد:#include <iostream.h>
void main()
{
char a[10];
cin >>a;
int i=0,t,z;
while (a[i]!= NULL)
{
if (a[i]>=49 && a[i]<= 57)
{
t=++i;
for (z=49;z<a[t-1];z++,i=t)
while (!(a[i]>49 && a[i]<57)&& a[i]!='\x0')
cout <<a[i++];
}
else
cout << a[i++];
}
}
خوب باشه اینم با حجمه :164
کد:#include <iostream>
using namespace std;
void main(){
char s[11];
cin >> s;
int k,j,i = 0;
while(s[i]){
k = s[i] - 48;
if(0 < k && k < 10){
i++;
for(j = 0; j < k; j++)
cout << s[i];
}
else
cout << s[i];
i++;
}
}
سلام
می بخشید من صورت سوالو درست متوجه نشدم
بعد عدد فقط باید کارکتر بعد اونو به تعداد اون عدد تکرار کنه یا رشته بعد عدد تا عدد بعدی (برنامه من کار دوم می کنه واین حجمشو بالا می بره ولی برنامه جناب mahdi_pc از نوع اوله)
مثال
asd2gh
جواب
asdghgh
برای C++ در ویندوز یکی از بهترین گزینه ها Dev-C++ است:نقل قول:
کد:http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe
در صورتی که سوال از نوع اول باشه
حجم:148
کد:#include <iostream.h>
void main()
{
char a[10];
cin >>a;
int i=0,z;
while (a[i]!=0)
if (a[i]>=49 && a[i]<= 57)
for (i++,z=49;z<a[i-1];z++)
cout << a[i];
else
cout << a[i++];
}
سلام دوستان
میبینم که بچه ها زیاد شدن
فعلا اینو نوشتم بگم که هستم:31::46: اما حجمش زیاده
حجم کد:203
فکر کنم که نباید از header رشته ها استفاده کنم چون خود string کلی حروف داره یه iterator هم بخوای ازش بسازی کلی حرف اضافه میکنهکد:#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cin>>s;
string::iterator q=s.begin();
while (q!=s.end())
if(48<=*q && *q<=57)
{
int c=*q++-48;
for(int i=0;i<c;i++)
cout<<*q;
q++;
}
else
cout<<*q++;
}
حامد جان من فکر کنم این لینکی که گذاشتی تعداد حروف رو میشمره درسته؟
اگه این طوره خوب یه سری ها از هدر های جدید و namspace استفاده میکنن بعضی ها از هدر های قدیمی که namespace نمیخواد همین کلی تو حجم کد ها تاثیر میذاره:41:
سلام. ببخشید خیلی بده که حجم کد تعداد کارکتر هاست طرف میاد حروف و کم میکنه حجم میاد پایین. . . شما استاده ما هستید ولی یکی با کد بهتر حجمو میاره پایین یکی با کم کردن حروف... این 2 تا خیلی فرق داره...
سایز کد:145
[HTML]#include<iostream>
void main()
{
char s[9],t,i,j;
cin >> s;
for(i=0;s[i];i++)
{
t=s[i]-48;
if(t<=9&&t>=0)
{
for(j=0;j<t;j++)
cout << s[i+1];
i++;
}
else
cout << s[i];
}
}
[/HTML]
همبن کدو با کم کردن حروف میشه به 138 رسوند ولی خ.ب ارزش نداره که...
آقا من اومدم یه کد دیگه بنویسم شد چیزی که r.gh45 تو پست 66 داد فکر نکنم خیلی بیشتر از این بشه حجم رو پایین آورد اگه هم بشه ارزش خاصی نداره که ما رو تعداد کلمات کد کار کنیم چون دیگه محتوای اصلی کد مشخص شده
سوال این هفته هم نسبت به هفته پیش خیلی ساده تر بود به نظر من واسه این هفته یه سوال دیگه بذارید این سوال رو خیلی زود می شد نوشت
البته این نظر منه بقیه دوستان هم نظر بدن
خب اگه همه موافقن من سوال جدید رو تا عصر بزارم؟
اینم کد من، حجم = 138
کد:#import <stdio.h>
int main()
{
char c[11], i=0;
gets(c);
while (c[i])
if (58 > c[i])
{
while (c[i]-- > 48) putchar(c[i+1]);
i+=2;
} else putchar(c[i++]);
return 0;
}
توضیح درباره کد:
می بینید که به جای include از import استفاده کردم و 1 واحد حجم کد کمتر شده.
برای تعریف متغیر فقط یک بار از char استفاده کرده ام. و حتی متغیر i رو هم از نوع char گرفتم.
از gets برای ورودی استفاده کرده ام.
برای حلقه ام چون هنگامی که c[i] باید 0 باشد باید خارج شود از شرطی استفاده نکرده ام چون 0 == false.
بقیه اش هم که مشخصه.
سلام
منم با نظر بچه ها نسبتا موافقم ولی سوالی که پیش می یاد اینه که :
چه جوری میشه کد بهینه رو تشخیص داد (یک راه محاسبه مرتبه زمانی که توی درس ساختمان خوندیم) و کسی این راه کار رو می تونه به صورت یک روتین مشخص واستاندارد در بییاره مثل لینکی که حامد جان تهیه کرده و الان داریم ازش استفاده می کنیم و یا همچین چیزی به صورت آماده وجود داره؟
سوال کردن آسونه؟؟؟
جواب : می دونیم که هر زبان برنامه نویسی یک کامپایلر مخصوص خودشو داره که می یاد دستوراتی رو که ما مینویسیم تبدیل به زبان ماشین(اسمبلی) می کنه من پیشنهاد می کنم تمام کسانی که می خوان در این مسابقه شرکت کنن از ورژن مشخص از زبان c استفاده کنن و بعد بیایم تعداد دستوراتی که به زبان ماشین تبدیل شده رو بشماریم مثلما هر کی تعداد کد کمتری داشته باشه سرعت اجرای دستوراتش بیشتر می شه (در ضمن بعضی از شرکتهای برنامه نویسی بزرگ برای افزایش سرعت برنامه هاشون می یان بعضی از نقاط برنامه رو با زبان اسمبلی می نویسن بیشتر در نوشتن سیستمهای عامل این عمل انجام می شه البته نوع الگریتم مورد استفاده خیلی مهمتره و من به شخصه دوست دارم بشه از طریق مرتبه زمانی عمل کرد))
سلام
شما درست می گید اما همیشه کوتاه ترین کد سریع ترین نیست ممکنه یک کد 50 خطی شما به خاطر بهینه سازی به 100 خط برسه اما سریع تر میشه.
اینم سوال جدید:
پر نامه ای بنویسید که دو عدد N و M را بگیرد و بگوید چند درصد اعداد بین N و M اول می باشند؟ درصد ها را تا دو رقم اعشار بنویسید. N و M از 1000 کوچکترند.
ورودی نمونه
1 2
5 10
1 10
خروجی نمونه
50.00
33.33
40.00
راستی هر کدوم از شما هم سوال برای طرح کردن دارین به من Pm بزنید.
این کد بهینه جناب حامده
حجم 131
کد:#import <stdio.h>
void main()
{
char c[11], i=0;
gets(c);
while (c[i])
if (58 > c[i])
{
while (c[i]-- > 48) putchar(c[i+1]);
i+=2;
} else putchar(c[i++]);
}
حجم کد 130
[HTML]#import <stdio.h>
void main()
{
char c[9], i=0;
gets(c);
while (c[i])
if (58 > c[i])
{
while (c[i]-- > 48) putchar(c[i+1]);
i+=2;
} else putchar(c[i++]);
}[/HTML]
آریا جان فدای اون اسم زیبات و غرور آفرینت حداقل تعدادکاراکتر باید 10 تاباشه
این 128 تای ولی به دلم نمیچسبه چون کدش مال حامده
کد:#include <iostream.h>
void main()
{
char c[11], i=0;
cin >> c;
while (c[i])
if (58 > c[i])
{
while (c[i]-- > 48) cout << c[i+1];
i+=2;
} else cout << c[i++];
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] سلام ببخشید مگه وقتی c[9] باشه و i از 0 شروع بشه 10 تا نمیشه؟؟ c[0]c[1]c[2]c[3]c[4]c[5] c[6]c[7]c[8]c[9 درست نیست؟
حق باشماست میبخشید
خواهش میکنم قربان... بریم برنامه بعدی اصلا خوب نیست حروف کم کنیمو حجم بیاریم پایین...:46::46: