Задача на Java

Задавайте Вашите въпроси, относно софтуера който вече имате инсталиран на компютъра си и имате проблеми с него или как сте разрешили даден проблем.
Публикувай отговор
Аватар
PTS
Модератор
Модератор
Мнения: 799
Регистриран на: Пет Юли 07, 2006 14:47 pm
Местоположение: София / Стара Загора

Задача на Java

Мнение от PTS »

Това е последната задача на Java с която ще ви занимавам. На някой ако му се занимава да я напише набързо ще му бъда много благодарен. Крайният срок до който трябва да я предам е неделя вечер. Тъй като вече нямам шанс за освобождаване (изложих се на контролните) дори не ми трябва цялото решение, а до някъде (колкото да имам нещо написано).
Да се напише програма на Java, която вкарва в двумерен масив оценките от 5-ти семестър(те са 5 на брой) на n(потребителя да въвежда броя на студентите) брой студенти. Програмата да извежда като краен резултат:

1. Средния успех на студентите за 5 семестър;
2. Номера на студента с най-висок среден успех;
3. Номера на студента с най-нисък среден успех;
4. Броя на студентите, които имат среден успех по-голям от средния;
5. Броя на студентите, които имат среден успех по-малък от средния;

Да се направи входящ контрол на данните. Броя на студентите не бива да надвишава 30. Оценките трябва да са между 2 и 6.
Аватар
admin
Site Admin
Site Admin
Мнения: 3580
Регистриран на: Съб Май 11, 2002 9:43 am
skype: john.doe.12
Местоположение: Earth
Обратна връзка:

Re: Задача на Java

Мнение от admin »

Код за потвърждение: Избери целия код

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package students;
/**
 *
 * @author Purgatory
 */
import java.io.*;
import java.util.*;
public class Students {
    /**
     * @param args the command line arguments
     */
    public String stud(int[][] Mas) {
        int l, m, max, sem, student;
        max = 0;
        sem = 0;
        student = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] > max) 
                {
                    max = Mas[l][m];
                    sem = l;
                    student = m;
                }
            }
        }
        return ("Stundenta s nai visok uspeh e nomer " + student + " ot semestar " + sem + " Uspeh " + max);
    }
    public String studmin(int[][] Mas) {
        int l, m, min, sem, student;
        min = 7;
        sem = 0;
        student = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] < min) 
                {
                    min = Mas[l][m];
                    sem = l;
                    student = m;
                }
            }
        }
        return ("Stundenta s nai nisak uspeh e nomer " + student + " ot semestar " + sem + " Uspeh " + min);
    }
    public int sreden(int[][] Mas) {
        int l, m, sr;
        sr = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                sr += Mas[l][m];
            }
        }
        return (sr / 150);
    }
    public int srednad(int[][] Mas, int sreden) {
        int l, m, sr;
        sr = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] > sreden)
                {
                    sr++;
                }
            }
        }
        return (sr);
    }
    public int sredmin(int[][] Mas, int sreden) {
        int l, m, sr;
        sr = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] < sreden)
                {
                    sr++;
                }
            }
        }
        return (sr);
    }
    public static void main(String[] args) throws IOException {
        int[][] studentList;
        studentList = new int[6][31];
        String CurLine;
        Random rand = new Random();
//        Random rand;
        int i, l, m, min, max, sreden, studsreden;
        min = 2;
        max = 6;
        Students PL = new Students();
        InputStreamReader converter = new InputStreamReader(System.in);
	BufferedReader in = new BufferedReader(converter);
        for (l = 1; l < 6; l++)
        {
            for (i = 1; i < 31; i++)
            {
                /*
                System.out.print("Vavedete ocenka za student " + i + " ot semestar: " + l + " : ");
                CurLine = in.readLine();
                m = Integer.parseInt(CurLine);
                if (m > 1 && m < 7)
                {
                    studentList[l][i] = m;
                } else {
                    System.out.println("Nevalidna ocenka, ocenkata trqbwa da e m/u 2 i 6");
                    i--;
                }
                */
                 studentList[l][i] = rand.nextInt(max - min + 1) + min;
            }
        }
        sreden = PL.sreden(studentList);
        System.out.println("Obstia sreden uspeh e: " + sreden);
        System.out.println(PL.stud(studentList));
        System.out.println(PL.studmin(studentList));
        studsreden = PL.srednad(studentList, sreden);
        System.out.println("Broq na stidentite sas sreden uspeh e : " + studsreden);
        min = PL.sredmin(studentList, sreden);
        System.out.println("Broq na stidentite suspeh pod srednia e : " + min);
        // TODO code application logic here
    }
}


За пробата съм сложил масива да се пълни автоматично с произволни стойности да не си играя да въвеждам стойностите, ето задачата и без автоматичните стойности.

Код за потвърждение: Избери целия код

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package students;
/**
 *
 * @author Purgatory
 */
import java.io.*;
import java.util.*;
public class Students {
    /**
     * @param args the command line arguments
     */
    public String stud(int[][] Mas) {
        int l, m, max, sem, student;
        max = 0;
        sem = 0;
        student = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] > max) 
                {
                    max = Mas[l][m];
                    sem = l;
                    student = m;
                }
            }
        }
        return ("Stundenta s nai visok uspeh e nomer " + student + " ot semestar " + sem + " Uspeh " + max);
    }
    public String studmin(int[][] Mas) {
        int l, m, min, sem, student;
        min = 7;
        sem = 0;
        student = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] < min) 
                {
                    min = Mas[l][m];
                    sem = l;
                    student = m;
                }
            }
        }
        return ("Stundenta s nai nisak uspeh e nomer " + student + " ot semestar " + sem + " Uspeh " + min);
    }
    public int sreden(int[][] Mas) {
        int l, m, sr;
        sr = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                sr += Mas[l][m];
            }
        }
        return (sr / 150);
    }
    public int srednad(int[][] Mas, int sreden) {
        int l, m, sr;
        sr = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] > sreden)
                {
                    sr++;
                }
            }
        }
        return (sr);
    }
    public int sredmin(int[][] Mas, int sreden) {
        int l, m, sr;
        sr = 0;
        for (l = 1; l < 6; l++)
        {
            for (m = 1; m < 31; m++)
            {
                if (Mas[l][m] < sreden)
                {
                    sr++;
                }
            }
        }
        return (sr);
    }
    public static void main(String[] args) throws IOException {
        int[][] studentList;
        studentList = new int[6][31];
        String CurLine;
        int i, l, m, min, sreden, studsreden;
        Students PL = new Students();
        InputStreamReader converter = new InputStreamReader(System.in);
	BufferedReader in = new BufferedReader(converter);
        for (l = 1; l < 6; l++)
        {
            for (i = 1; i < 31; i++)
            {
                System.out.print("Vavedete ocenka za student " + i + " ot semestar: " + l + " : ");
                CurLine = in.readLine();
                m = Integer.parseInt(CurLine);
                if (m > 1 && m < 7)
                {
                    studentList[l][i] = m;
                } else {
                    System.out.println("Nevalidna ocenka, ocenkata trqbwa da e m/u 2 i 6");
                    i--;
                }
            }
        }
        sreden = PL.sreden(studentList);
        System.out.println("Obstia sreden uspeh e: " + sreden);
        System.out.println(PL.stud(studentList));
        System.out.println(PL.studmin(studentList));
        studsreden = PL.srednad(studentList, sreden);
        System.out.println("Broq na stidentite sas sreden uspeh e : " + studsreden);
        min = PL.sredmin(studentList, sreden);
        System.out.println("Broq na stidentite suspeh pod srednia e : " + min);
        // TODO code application logic here
    }
}
Можеш да си опрвиш имената на променливите, даскалит не обичат подобни имена.
"There is no 'patch' for stupidity."
Аватар
PTS
Модератор
Модератор
Мнения: 799
Регистриран на: Пет Юли 07, 2006 14:47 pm
Местоположение: София / Стара Загора

Re: Задача на Java

Мнение от PTS »

8O Благодаря, задължен съм ти! :cheers:
Публикувай отговор