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

برنامج لعد العدد متساوي من الاقواس

مغلق
بدأه TheNewLeader في 13 فبراير 2007 · 10 رد · 792 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف يمكن عمل برنامج لعد عدد الاقواس المتساوية واذا كانت متساوبة بضيف سطر جديد ثم يبدا العد

اقصد لو

(np(np1 (n[data]))), vp(vp1(person(person))),

ان اخذ ان عدد ( الاقواس اليمين = الاقواس اليسار

يضاف سطر جديد

#2

stack

#3

السلام عليكم

أنا عندي فكرة أخرى

انه تعمل اتنين counter و بعدين تمسك كل حرف character في string تبعتك

من خلال الميثود charat و تقارن إذا كان ) ضيف واحد للكاونتر الأول إذا كان ( ضيف واحد للكاونتر الثاني

و في نهاية الstring بتقارن 2 كاونتر اذا بساووا بعض بكونوا الأقواس متساويين إذا لا العكس

تم تعديل هذه المشاركة بواسطة jfriend في 13 فبراير 2007 في 23:26

#4

السلام عليكم

or ( int i=0;i< s1.length()+1; i++ )
	  {
		  int countLeft=0;
	 	int coutRight=0;
	   if(	s1.charAt( i )==('(')   )  
		  countLeft++;
	 if (	   v == (')')	  )
		  coutRight++;
		  output+=v;
		  if	   	(countLeft==coutRight)
		  output+="\n";

لكن حين التشغيل يعطيني

exception in thread main

java.lang.stringindexoutofboundsexception

string index out of range 133

مع اني اريد ان اتعامل مع حجم اكبر string

ما العمل

#5

قد يكون السبب هو (+1) الموجود في شرط حلقة for

#6

حلول الاخ عيسي في زاوية 90 ْ

ما رأيك في هذا المثال

 package test;

// import java.util.Stack;

//import java.io.IOException;

 class BracketChecker {
  private String input;

  public BracketChecker(String in) {
	input = in;
  }

  public void check() {
	int stackSize = input.length(); 
	Stack theStack = new Stack(stackSize); 

	for (int j = 0; j < input.length(); j++)
	{
	  char ch = input.charAt(j);
	  switch (ch) {
	  case '{': // opening symbols
	  case '[':
	  case '(':
		theStack.push(ch); // push them
		break;

	  case '}': // closing symbols
	  case ']':
	  case ')':
		if (!theStack.isEmpty()) // if stack not empty,
		{
		  char chx = theStack.pop(); // pop and check
		  if ((ch == '}' && chx != '{') || (ch == ']' && chx != '[')
			  || (ch == ')' && chx != '('))
			System.out.println("Error: " + ch + " at " + j);
		} else
		  // prematurely empty
		  System.out.println("Error: " + ch + " at " + j);
		break;
	  default: // no action on other characters
		break;
	  }
	}
	if (!theStack.isEmpty())
	  System.out.println("Error: missing right delimiter");
  }

  public static void main(String[] args)  {
	String input = "{Java [Source] (and)( {[(Support)]}}";
	BracketChecker theChecker = new BracketChecker(input);
	theChecker.check(); 
  }

}

class Stack {
  private int maxSize;

  private char[] stackArray;

  private int top;

  public Stack(int max) {
	maxSize = max;
	stackArray = new char[maxSize];
	top = -1;
  }

  public void push(char j) {
	stackArray[++top] = j;
  }

  public char pop() {
	return stackArray[top--];
  }

  public char peek() {
	return stackArray[top];
  }

  public boolean isEmpty() {
	return (top == -1);
  }
}

http://www.java2s.com/Code/Java/Collection...cketChecker.htm

تم تعديل هذه المشاركة بواسطة ali7876 في 14 فبراير 2007 في 09:02

#7

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

اجل المشكلة كانت في +1

لكن كيف لي ان اضيف سطر جديد حين لا تكون الاقواس متشابهة

ما كتبته دائما يضيف سطر جديد

وطذلك كيف لي ان اخذ اول كلمة في سطر

هل في

substring

من 0 الى (

#8

السلام عليكم

اقتباس
هل في

substring

من 0 الى (

نعم هو string takenizer

بس مش فاكرة بالزبط إش الconstructor تبعتها بتأخد parameter

بس فاكرة واحد منهم بأخد ال string المطلوبة و التالت بياخد delemiter و هو

اش الفاصل أو المقسم كالمسافة أو السلاش أو الفاصله فبإمكانك تستحدم بدلهم ال)

#9

يااخواني نستطيع ان نحل كثير من الاسئله باكثر من طريقه

ولكن عندما يكون هناك Structure او كلاس موجود ويقدم لنا هذه الخدمه لماذا لانستخدمه ؟

كلام الأخ jfriend بغض النظر هو صحيح ، ولكن لماذا في كل مره نستخدم نفس الاساليب ؟ ( for loops counters )

تحليل المشكله وتصورها يعطيك بعد أكبر لمعرفة ماذا تريد

وبالطرف المقابل حتى لو حليته بدون استخدام stack يجب ان تقارن حلك مع حلول المبرمجين المحترفين ، فهنا قوقل يوضح لك أين تقف من برمجة الجافا

#10

السلام عليكم

يا أخ عيسى إذا ممكن تحكيلنا فكرة الحل عن طريق stack

طبعا إذا ما في غلبة. :)

تم تعديل هذه المشاركة بواسطة jfriend في 14 فبراير 2007 في 17:31

#11

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

معاك يا اخي عيسى في كلامك

واود ان تبدا صفحة تشرح فيها data strucuter

لان ما عندي من كتب الجافا لا يوجد فيها

نعم نريد التعلم وان تصبح لدينا مهارات المبرمجين المحترفين

فلتبدا وكلنا معك

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…