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

مساعدة بسيطة بلغة السي

مغلقمُجاب
بدأه al3nzy في 8 يناير 2014 · 6 رد · 909 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني انا طالب بالصين تخصصي علوم حاسب وادرس تخصصي بالصيني المدرس عطاني واجب وطالبه مني بكره وانا تلقائي قصد هذا الموقع 

من اسمه المبرمجون العرب لان المبرمجون الصينين طلعوا العله براسي اتمنى منكم هو كذا بالضبط عطاني كالتالي تم التاكد من كل كلمة حرف حرف حاولت اكتبه بالنونت باد بلس بلس وشغلته بالـMinGW  ولكن اول مره بحياتي اتعامل مع لغة السي ولا اعرف وش السالفه 

هو معطيني ثلاث اكواد اكتب له نتائج الاكواد يعني إذا شغلته وش يطلع لي 

#include <stdio.h>
void main()
{ int i,j,k;
for (i=1;i<=4;i++)
{ for(j=1;j<=10-i;j++)printf(" ");
for (k=1;k<=2*i-1;k++)
printf("%d",i);
printf("\n");
}
for(i=3;i>0;i--)
{for (j=1;j<10-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("%d",i);
printf("\n");
} 
}

وهذا الثاني 

#include<stdio.h>#include<string.h>void main(){void func(char s[ ]);char str[80]="computer";func(str);puts(str);}void func(char s[ ]){char c;int i,j;j=strlen(s)-1;for(i=0;i<j;i++,j--){c=s;s=s[j];s[j]=c;}}

وهذا الثالث 

#include<stdio.h>void main(){int a[6][6], i,j;for(i=0;i<6;i++){ a[0]=1 ;a=1 ;}for(i=2;i<6;i++)for(j=1;j<i;j++)a[j]=a[i-1][j]+a[i-1][j-1];for(i=0;i<6;i++){ for(j=0;j<=i;j++)printf("%5d",a[j]);printf("\n");}}

والسؤال الثاني معطيني كودين اكمل الناقص المشكله اني كل ماجيه ابيه يشرح لي يقولي هذا بالانجليزي المفروض تقراه هذا لغتكم 

 

هذا الكود الاول 

#include<stdio.h>
#include<string.h>
void main()
{ char string[20];
char str[3][20];
int i;
for (i=0;i<3;i++)
gets (__________);
if(________)
strcpy(string, str[0];
else strcpy(string, str[1]);
if (strcmp(str[2], string)>0)
strcpy(string, str[2]);
printf("\nthe largest string is:\n%s\n", _____);
}

وهذا الكود الثاني 

#include<stdio.h>
_____________
void main()
{ int m, i, k;
scanf("%d", &m);
k=sqrt(m);
for (i=2;i<=k;i++)
if(_______) break;
if(_____) printf("%d is a prime number\n", m);
else printf("%d is not a prime number\n", m) ;
}

المشكله معطينياها ويقولي جبها بكره فرق الوقت بين الصين والدول العربيه تقريباً 5 ساعات اتمنى منكم شرح بسيط وخفيف مع الحل لاني اول شي بعطيه الحل ثم برجع للمسائل انا عندي خلفيه عن الـPHP ولكن هذا شي مختلف 100% وششكراً لكم 

#2 أفضل إجابة

الأسئلة الأولى إذا كان كل المطلوب هو الناتج، يمكنك تشغيل البرنامج على codepad وسيعطيك النتيجة.

 

الأسئلة الباقية السؤال الأول يظهر أنه يبحث عن أطول نص من بين ثلاث نصوص تدخلها، هذا تعديل بسيط على الكود والشرح في التعليقات:

#include <stdio.h>#include <string.h>int main(){  char string[20]; // هذا للنص الأطول  char str[3][20];  int i;  // اقرأ ثلاث نصوص من المستخدم  for (i=0;i<3;i++)    gets(str);  // نقارن بين الأول والثاني ونأخذ أطولهم، لنقل أنه س  if(strlen(str[0]) > strlen(str[1]))    strcpy(string, str[0]);  else    strcpy(string, str[1]);  // نقارن بين الثالث و س ونأخذ أطولهم  if( strcmp(str[2], string) > 0 )    strcpy(string, str[2]);  printf("\nthe largest string is:\n%s\n", string);  return 0;}

السؤال الأخير مشكلة رياضية أكثر منها برمجية، يطلب أن تتحقق من أن العدد عدد أولي أم لا، لا أعرف هذه الطريقة لكن يظهر أنها الطريقة الخامسة من هذه الصفحة: How to Check if a Number Is Prime

 

اقتباس
Continue dividing n by each number between 2 and n1/2 inclusive. If any of them divide evenly, then n is not prime because you found a factor. If n has no factors less than its square root, then n is prime. It is sufficient to check only for divisors less than or equal to n1/2 because if n = a*b, then a and b can't both exceed the square root of n.

 

 

هذا تكمله (يظهر أنه يعمل لكني لست متأكد تماما منه):

#include <stdio.h>
#include <math.h> // فيها تعريف الدالة sqrt

int main() {
  int m, i, k;
  scanf("%d", &m);
  k = sqrt(m); // نأخذ جذر العدد س
  for( i = 2 ; i <= k ; i++ ) // نمر على الأرقام من 2 إلى جذر العدد س
  if( (m % i) == 0 ) break;   // إذا كان العدد يقبل القسمة على أحد هذه الأعداد نتوقف
 
  // إذا كان العدد الذي توقفنا عنده لايقبل القسمة على س أو كان س هو الذي توقفنا عنده، مثل 2، فهذا عدد أول
  if( (m % i) != 0 || m == i ) printf("%d is a prime number\n", m);
  // وإلا فالعدد ليس أولي
  else printf("%d is not a prime number\n", m) ;
  return 0;
}

// تجارب
// 0 is not a prime number
// 1 is a prime number
// 2 is a prime number
// 3 is a prime number
// 4 is not a prime number
// 5 is a prime number
// 10 is not a prime number
// 11 is a prime number
// 13 is a prime number
1
#3
اقتباس

// 1 is a prime number

ملاحظة الرقم 1 ليس عدد اولي

تم تعديل هذه المشاركة بواسطة eng.ahmadshalabi في 8 يناير 2014 في 05:00

2
#4

بيض الله وجهك والله ابدعت اكثر من اللزوم 

#5

شكرا لك اخي Mr.B على موقع wikihow

#6
eng.ahmadshalabi كتب:

 

ملاحظة الرقم 1 ليس عدد اولي

أعتذر عن هذا الخطأ :wacko: ، لكن لا إعرف إصلاحه.

#7

وجهك ابيض والله ماقصرت وجزاك الله خير كفيت ووفيت

هذا الموضوع مغلق.

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