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

[طلب] بلغة سي بلص بلص جزاكم الله خير

بدأه مبرمج بلا حدود في 27 أكتوبر 2011 · 3 رد · 446 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

تحية طيبة

اخواني واحبابي في الله حياكم الله

ممكن طلب 3برامج صغيرة جداً بلغة السي بلص بلص جزاكم الله خير وبارك الله فيكم

1- برنامج يقوم بقراءة كلمة من الجهتين ويعرف هل الكلمة Palindrome .

2- برنامج يفحص هذا التعبير من ناحية الاقواس ويعرف هل هو صحيح او لا

((())()())

3- برنامج يفحص هذا التعبير من ناحية الاقواس ويعرف هل هو صحيح او لا ولكن هذه الاقواس

{<)>}

هذا ووفكم الله لكل خير

جزاكم الله خير

#2

يمنع حل التمارين/الواجبات قم بكتابتة محاولاتك و سيتم مساعدتك.

كيف تتوقع ان تتعلم و انت لم تحاول التجربه!!!

مدونتي: C++ Tips and Tricks

#3

اهلا استاذ انا حليت المطلب الاول

وهذا الحل وصحيح الحمدللهوكتبت بيه ملاحظات حتى يستفاد منها من يريد اخذه

#include<iostream.h>
#include<stdio.h>
#include<string.h>
#define n 20
void push(char stack[n],int &top,char x);
void pop(char stack[n],int &top,char &x);
main()
{
 int top1=-1,top2=-1,t=0,f,m;
 char s[n],st1[n],st2[n],w;
 cout<<"enter your sentence: ";
 gets(s);    // space لا تقرا الفراغ cin>> لأن 
 for(int i=0;i<strlen(s);i++)
 {
	if(s!=' ')
	 {
	  if((s>='A')&&(s<='Z'))           //أذا كان الحرف كبير يحوله إلى صغير 
	  s=s+32;
		push(st1,top1,s);
	 }
 }
m=(top1)/2;  // هنا لتمييز نصف عدد الأحرف ( عدد الأحرف الموجودة في المكدس قسمة 2 ) 
if((top1+1)%2!=0) t=1;  //أذا كان عدد أحرف الكلمة فردي  
while(top1>m)
{
  pop(st1,top1,w);
  push(st2,top2,w);
}
if(t==1) //أذا كان عدد أحرف الكلمة فردي فقط أحذف الحرف الوسط ليصبح عدد الأحرف زوجي
pop(st1,top1,w);
while(top1>-1)
 {
  if(st1[top1]!=st2[top2])
  f=1;   //  يصبح 1 أذا كان الحرف الموجود في المكدس الأول لا يساوي الحرف الموجود في المكدس الثاني f
	pop(st1,top1,w);
	pop(st2,top2,w);
 }
	if(f==1)
	cout<<"\n not read from two side";
	else
	cout<<"It is read from two side";
}


void push(char stack[n],int &top,char x)
{
 if(top==n-1) cout<<"stack over fllow";
	else
	{
	 top++;
	 stack[top]=x;
	}
}
void pop(char stack[n],int &top,char &x)
 {
	if(top==-1) cout<<"stack under fllow";
	 else
	 {
	  x=stack[top];
	  top--;
	 }
  }

بس ياريت اجد حل المطلب الثاني والثالث جزاكم الله خير

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