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

جملة تقرأ من الطرفين

مغلق
بدأه alqali_4u في 11 ديسمبر 2003 · 5 رد · 698 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
#include <conio.h>
#include <iostream>
#include "stackarr.cpp"
#include "queuearr.h"
main()
{
  using namespace std;
  Stack<char> stack(20);
  QueType<char> queue(20);
  char ch;

  //read the potential palindrome
  cout << "Enter a phrase terminated by carriage return: ";
  cin.get(ch);

  //put the elements on a stack and queue
  int i=0;
  while (ch != '\n')
  {
    stack.push(ch);
    queue.Enqueue(ch);
    cin.get(ch);
  }

  //remove elements and compare them
  bool palindrome = true;
  char stackElem;
  char queueElem;
  while (!stack.isEmpty() && palindrome) {
     stack.pop();
     queue.Dequeue();
     palindrome = (stackElem==queueElem);
  }

  //print results
  if (palindrome)
    cout  << "It is a palindrome\n";
  else
    cout <<  "It is not a palindrome\n";
  return 0;
  getch ();
}

هذا البرنامج يقوم على ادخال جملة ويختبر هل هي تقرأمن الطرفين ام لا ؟؟

السؤال//هل هذا صحيح؟ واذا كان كذلك لماذا لا يعطي نتائج صحيحة؟

مع العلم أن الملفين

"stackarr.h"

"queuearr.h"

صحيحين 100/100

/////////////////////////////////////////

سؤال آخر // مامعنى

cin.get(ch);

#2

??????????

#3

اخوي انت مصعب البرنامج حبتين

الفكره با ختصار اننا نحط الكلمه الصليه في متفير ونسوي لها(revirse)

يعني عكس

ونقارن الكلمه الصليه مع المعكوسه عن طريق داله strcmp

اذا رجعت صفر معناها الكلمه palindrom

مثال كلمه (madam)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int paln(char*,int);
int pa(char*);
main()
{   int y,k=0;
	char*s1;
	s1=(char*)malloc(30);
	printf("Enter your string\n");
	gets(s1);

	if(paln(s1,strlen(s1) ))
  printf("it's palindron\n");
	else printf("not palandrom\n");
	/*if(pa(s1))
  printf("it's pandrom\n");
	else printf("it's not pandrom\n");
	*/
	return 0;
}
/*****************/
int paln(char*s1,int m)
{
	char *ptr;
	int i,j,n=1;
	ptr=s1;
	for(i=0,j=m-1;i<=(m/2);i++,j--){
  if(s1!=ptr[j])
 	 return 0;
  else continue;
	}
	return 1;
}

/*********************/
#4

الله يعطيك العافية اخويABDULLAH1003

بس الحل مطلوب بإستخدام Stack و Queue... هذا التعقيد يسمونه فلسفة

دكاترة ... (( الله يهديهم وينجحونننا ))

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

الله يعين الجميع...

#5

طيب اخوي الQUEUE و STACK

لازم تكون ARRAY

يعني ARRAY OF STACK

ولا STACK LINK LIST

قلي وإن شاء الله احل برنامجك

واذا انت مستعجل

هذا ايملي

H@ALSUBIEY.TK

#6

طيب اخوي الQUEUE و STACK

لازم تكون ARRAY

يعني ARRAY OF STACK

ولا STACK LINK LIST

قلي وإن شاء الله احل برنامجك

واذا انت مستعجل

هذا ايملي

H@ALSUBIEY.TK

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

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