السلام عليكــم ورحمـة الله وبركاتــه ،،
ممكن حد يساعدني بكتابه كود يطبع رمز
*
***
*****
*******
****
****
****
****
المقصود كتابه سهم للأعلى او لالالأسفل
وكتابه اسم mahdi
بالنجوووم
بكون شاكر جدا ....
السلام عليكــم ورحمـة الله وبركاتــه ،،
ممكن حد يساعدني بكتابه كود يطبع رمز
*
***
*****
*******
****
****
****
****
المقصود كتابه سهم للأعلى او لالالأسفل
وكتابه اسم mahdi
بالنجوووم
بكون شاكر جدا ....
تم تعديل هذه المشاركة بواسطة مهدي شطناوي في 21 يوليو 2009 في 17:25
محد بيساعدني
:o :unsure: :( :( :(
بالنسبة للأسهم :
#include <stdio.h>
// width : طول صورة السهم
// height : ارتفاع صورة السهم
// updown : سهم إلى الأعلى إذا كان أكبر من الصفر
void DrawArrow(int width, int height, int updown)
{
char *buffer = new char[width * height];
int stars = 1;
int start = 0;
int end = 0;
bool bRect = false;
for(int y = 0; y < height; y++) {
if(!bRect) {
start = (width - stars) / 2;
end = start + stars;
if(stars >= width) {
stars /= 2;
start = stars / 2 + ((width % 2) ? 1 : 0);
end = start + stars - ((width % 2) ? 1 : 0);
bRect = true;
}
}
for(int x = 0; x < width; x++) {
if((x >= start) && (x < end)) {
buffer[y * width + x] = '*';
} else {
buffer[y * width + x] = ' ';
}
}
if(!bRect) stars += 2;
}
for(int y = 0; y < height; y++) {
for(int x = 0; x < width; x++) {
int i = 0;
if(updown < 0) {
i = (height - y - 1) * width + x;
} else {
i = y * width + x;
}
putchar(buffer);
}
putchar('\n');
}
delete[] buffer;
}
void main(void)
{
int w = 15;
int h = 20;
DrawArrow(w, h, 1);
DrawArrow(w, h, -1);
getchar();
}حظ موفق في دراسة الكود...
أخي مثلث النجوم تستطيع أن ترسمه باستخدام 3 فور لوب:
الخارجية تتحرك على السطور، وبداخلها اتنين فور لوب منفصلتين:
الأولى تطبع المسافات،، والثانية تطبع النجوم....
وطبعًا تاخد بالك من أن المسافات تتناقص، يعني تعمل عداد = -1، وتجمعه مع متغير اللوب...
ربنا معاك يا فندم.. :)
تم تعديل هذه المشاركة بواسطة tracy في 5 أغسطس 2009 في 16:38
أستغفر الله العظيم الذي لا إله إلا هو الحي القيوم وأتوب إليه
خذ الكود جميل ومنسق :lol:
#include <iostream>
using namespace std;
int main()
{
int A=16,B=5;
int N=(A-A%2)/2,b=1+(B+((B+1)%2))/2;
for(int q=0;q<(N*N*2)*2;q++)
{
if(!(q%(N*2)))cout<<endl;
(((q-q%(N*N*2))/(N*N*2)))*(N*N)+((abs(((q%(N*2))-(N-1)))-((q-q%(N*2))/(N*2)))+abs((abs(((q%(N*2))-(N-1)))-((q-q%(N*2))/(N*2)))))+(((q-q%(N*N*2))/(N*N*2)))*(((abs(((N-1)-(q%(N*2))))-abs(((N-1)-(q%(N*2))))%b)/b)-(N*N))==0 ? cout<<"*" : cout<<" ";
}
cin.get();
return 0;
}غير في قيم A و B فقط , حيث A هي قاعدة المثلث و B هو عرض المستطيل .. B يجب أن تكون أقل من A ليظهر الشكل جميل كسهم .
مثلا ل A=16,B=5 :
خخخخخخخخخخخخخخ
هيثم مش ناوي يجيبها لبر :haha:
السلام عليكم
بارك الله فيك أخى هيثم
ممكن تعرفنى أخ هيثم كيف تتخيل هذه الأرقام بالضبط
أنا فهمت التسلسل ولكنى اريد ان أصل كيفية تكوينها بإستخدام المعاملات % /
تحياتى
اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم
اقتباسممكن تعرفنى أخ هيثم كيف تتخيل هذه الأرقام بالضبط
الخطوة الأولى لازم تتخيل نفسك في الماتريكس :D
اقتباسليه كدا بس يا أستاذ هيثم؟؟؟؟ :(
take it easy :lol:
إنظرو الرد هنا , لكي أجعل الموضوع متواصل بتسلسل :