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

عندي مصفوفتين الأولى لتخزين أسماء الطلاب والثانية لدرجاتهم أريد أن أرتب الأولى أبجديا ثم تتحرك الدرجات لاسمائها

بدأه محمد صلاح عبدالحميد في 13 مايو 2008 · 6 رد · 876 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
import java.util.*;
public class Main {
static Scanner console= new Scanner(System.in);
	public static void main(String[] args) 
	{
   String []names=new String[10];	
   for(int i =0;i<names.length;i++)
   {
	System.out.print("Please Enter Student name ");
	System.out.println();
	names =console.next();
	}   
	int []grade=new int[10];	
   for(int i =0;i<grade.length;i++)
   {
	System.out.print("Please Enter Student grade ");
	System.out.println();
	grade =console.nextInt();
	}

  }
// Now I want to define a method that sort the names
// and then moves the grade to its name	
}

تم تعديل هذه المشاركة بواسطة محمد صلاح عبدالحميد في 13 مايو 2008 في 06:27

#2

السلام عليكم

ضمن خوارزمية الترتيب (الفرز) و عند التبديل (swap) بين عنصري مصفوفة قم بتبديل عناصر المصفوفة الثانية ..

public void sort(String[] names, int[] grade){
	boolean swapped;
	do{
		swapped = false;
		for (int i = 0; i < names.length-1; i++) {
			if(names.compareToIgnoreCase(names[i+1])>0){
				String temp = names[i+1];
				names[i+1] = names;
				names = temp;

				int temp1 = grade[i+1];
				grade[i+1] = grade;
				grade = temp1;

				swapped=true;
			}
		}
	}while(swapped);			 
}

أبو خالد السوري

#3

جزاك الله خيرا ياأبا خالد هل هناك من طريقة أخرى

تم تعديل هذه المشاركة بواسطة محمد صلاح عبدالحميد في 13 مايو 2008 في 14:31

#4

لم أفهم ما المشكلة في شيفرة أبو خالد

هل تريد خوارزمية معينة ؟؟؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

كيف أفصل هذا الكود إلى 3methods الاولى لترتيب الاسماء ومن خلالها يتم استدعاء الثانية التي تقوم بترتيب الدرجات

ويتم إستدعاء الثالثة من الmain لطباعة المصوفتين بعد الترتيب ولا أعرف كيف أرجع قيمة المصفوفتين بعد الترتيب ليتم طباعتهم الرجاء المساعدةهذا هو الكود

import java.util.*;
public class Main {
static Scanner console= new Scanner(System.in);
	public static void main(String[] args) 
	{
   String []names=new String[2];	
   for(int i =0;i<names.length;i++)
   {
	System.out.print("Please Enter Student name ");
	System.out.println();
	names =console.next();
	}   
	int []grade=new int[2];	
   for(int i =0;i<grade.length;i++)
   {
	System.out.print("Please Enter Student grade ");
	System.out.println();
	grade =console.nextInt();
	}
   sortname(names,grade);
   // here should be acall to amethod to prtint the arrays after sorting
  // i donnot know how to return the sorted arrays to make the print
  }
public static void sortname(String[] names, int[] grade){
	boolean swapped;
	do{
		swapped = false;
		for (int i = 0; i < names.length-1; i++) 
		{
			if(names.compareToIgnoreCase(names[i+1])>0)
			{
				String temp = names[i+1];
				names[i+1] = names;
				names = temp;
				// here after sort the name we make acall to the second mehthod
				sortgrade(names,grade,i);
				swapped=true;
			}
		}
	}while(swapped);			 

}
public static void sortgrade(String []names,int[] grade ,int i)
{ // this method to sort the garde arry
			if(names.compareToIgnoreCase(names[i+1])>0)
			{
				int temp1 = grade[i+1];
				grade[i+1] = grade;
				grade = temp1;
			}

}
// here will be the print method
}

تم تعديل هذه المشاركة بواسطة محمد صلاح عبدالحميد في 13 مايو 2008 في 19:37

#6

أعطنا تجربتك وسنعدل عليها

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

تم تعديل الرد وهو يحتوي على الكود وشكرا لك أخي

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

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

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

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

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