الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال برمجي بعدئذنكم

بدأه مهدي شطناوي في 21 يوليو 2009 · 8 رد · 831 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

ممكن حد يساعدني بكتابه كود يطبع رمز 

     

    *

    ***

    *****

   *******

 ****

 ****

 ****

 ****

المقصود كتابه سهم للأعلى او لالالأسفل  

وكتابه اسم mahdi 

بالنجوووم

بكون شاكر جدا ....

تم تعديل هذه المشاركة بواسطة مهدي شطناوي في 21 يوليو 2009 في 17:25

#2

محد بيساعدني

:o :unsure: :( :( :(

#3

بالنسبة للأسهم :

#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();
}

حظ موفق في دراسة الكود...

#4

أخي مثلث النجوم تستطيع أن ترسمه باستخدام 3 فور لوب:

الخارجية تتحرك على السطور، وبداخلها اتنين فور لوب منفصلتين:

الأولى تطبع المسافات،، والثانية تطبع النجوم....

وطبعًا تاخد بالك من أن المسافات تتناقص، يعني تعمل عداد = -1، وتجمعه مع متغير اللوب...

ربنا معاك يا فندم.. :)

تم تعديل هذه المشاركة بواسطة tracy في 5 أغسطس 2009 في 16:38

أستغفر الله العظيم الذي لا إله إلا هو الحي القيوم وأتوب إليه

#5

خذ الكود جميل ومنسق :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 :

post-19273-1249494007_thumb.png

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#7

السلام عليكم

بارك الله فيك أخى هيثم

ممكن تعرفنى أخ هيثم كيف تتخيل هذه الأرقام بالضبط

post-153585-1249495742_thumb.gif

أنا فهمت التسلسل ولكنى اريد ان أصل كيفية تكوينها بإستخدام المعاملات % /

تحياتى

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#8

ليه كدا بس يا أستاذ هيثم؟؟؟؟ :(

أستغفر الله العظيم الذي لا إله إلا هو الحي القيوم وأتوب إليه

#9
اقتباس
ممكن تعرفنى أخ هيثم كيف تتخيل هذه الأرقام بالضبط

الخطوة الأولى لازم تتخيل نفسك في الماتريكس :D

اقتباس
ليه كدا بس يا أستاذ هيثم؟؟؟؟ :(

take it easy :lol:

إنظرو الرد هنا , لكي أجعل الموضوع متواصل بتسلسل :

/index.ph...t&p=1001545

banner_60_468.gif

NOTHING IS IMPOSSIBLE

مواضيع مشابهة