إعلان
تعلم الآن

الخوارزميات و هياكل البيانات التحدي الثالث - حل التمرين الأول بلغة C

المطلوب

أكتب برنامج مهمته رسم الشكل التالي بواسطة الحلقات.
عند تشغيل البرنامج, يجب أن يطلب من المستخدم إدخال عدد أسطر الشكل الذي سيتم رسمه.
إنتبه: يجب أن يدخل المستخدم عدد مفرد و أكبر من صفر, لأن عدد الأسطر لا يمكن أن يكون مزدوجاً أو قيمته تساوي صفر أو أقل من صفر.


الحل بلغة C

الطريقة الأولى لحل التمرين.

#include<stdio.h>

void main() {
    
    int n;
    
    do {
        printf("Enter the number of lines: ");
        scanf("%d", &n);
    }
    while( n<=0 || n%2==0 );
        
	for( int i=1; i<=n; i++ )
	{
		if( i<=n/2 )
		{
			for( int k=1; k<(n/2)-i+2; k++ )
			{
				printf(" ");
			}
			
			printf("*");
			
			for ( int j=1; j<(i*2)-1; j++ )
			{
				printf("*");
			}
		}
		else
		{
			for( int k=1; k<i-(n/2); k++ )
			{
				printf(" ");
			}
			
			printf("*");
			
			for ( int j=1; j<=(n*2)-(i*2); j++ )
			{
				printf("*");
			}	
		}
		printf("\n");
	}
    
}
		

الطريقة الثانية لحل التمرين و الحصول على نفس النتيجة.

#include<stdio.h>

void main() {
    
    int n;
    
    do {
        printf("Enter the number of lines: ");
        scanf("%d", &n);
    }
    while( n<=0 || n%2==0 );
        
	for( int i=1; i<=(n/2)+1; i++)
	{
		for( int k=1; k<(n/2)-i+2; k++ )
		{
			printf(" ");
		}
			
		printf("*");
			
		for ( int j=1; j<(i*2)-1; j++ )
		{
			printf("*");
		}
		
		printf("\n");
	}

	for( int i=1; i<=(n/2); i++)
	{
		for( int k=1; k<=i; k++ )
		{
			printf(" ");
		}
			
		for ( int j=1; j < ((n/2)*2)-(i*2)+2; j++ )
		{
			printf("*");
		}
		
		printf("\n");
	}
    
}
		

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 9 عند التشغيل.

Enter the number of lines: 9
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
		
إعلان
دورة قواعد بيانات MySQL في هذه الدورة ستتعلم أساسيات قواعد البيانات و أوامر SQL، العلاقات (Join) بين الجداول، Normalization مع تطبيق مشروع متكامل. سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
تعلم الآن

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة