حل برنامج الفاينل
كود:
import java.util.*;
public class Final {
public static void main(String[] args) {
String names[] = new String[30];
double scores[] = new double[30];
String low[] = new String[30];
String high[] = new String[30];
double max = 0, sum = 0, ave = 0;
Scanner in = new Scanner(System.in);
for (int i = 0; i < 30; i++) {
System.out.print("Enter student " + (i + 1) + " name: ");
names[i] = in.next();
System.out.print("Enter student " + (i + 1) + " score: ");
scores[i] = in.nextDouble();
sum += scores[i];
ave += sum/30;
if (scores[i] > max) {
max = scores[i];
high[i] = names[i];
}
if (scores[i] < ave)
low[i] = names[i];
}
if (sum > 0)
System.out.println("The average = " + ave);
else
System.out.println("The average is not computable");
System.out.println("Students below the average are: " + Arrays.toString(low));
System.out.println("Students with the highest score are: " + Arrays.toString(high));
}
}
:)
|
المفروض ما تسويه كذا يا سهيل ،، كلها مصفوفتين وعندك خطأ ثاني إلي هوا الأفرج كيف تحسبه داخل لوب ؟ راح يحسبه 30 مرة ويجمع كل مرة مع إلي قبلها حسب قانونك
Average+=sum/30;
Average = Average+sum/30
افرض أنو أول أفرج طلع 20 الثاني يطلع راح يجمع ال20 مع sum/30 وهذا غلط
راح أضع الحل الصحيح وإن شاء الله تشوفه