21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
1

Переделать задачу

25.09.2012, 20:26. Показов 886. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет еще раз!))
У меня есть скелет кода, помогите переделать его для другой задачи!
Вот задача:
Оценки студентов. Записать в двумерный массив информацию об оценках каждого из N студентов группы по тому или иному предмету (в первой строке – информация об оценках первого студента, во второй – второго и т. д.). Общее число предметов равно K. Сформировать список оценок студентов, которые по всем K предметам учатся на 4 и 5. Упорядочить этот список по убыванию среднего балла.

Вот мои наработки по ней (точнее код с похожего задания, максимально приближенный мной к данной задаче):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import java.io.IOException;
import java.util.Scanner;
 
public class Sport
{    
  public static void main (String [] args) throws IOException
  { int n; int r;  int[] sum; int i, j;
           
    System.out.print("Укажите колличество стортсменов - пятиборцев: ");
    //Связь с клавиатурой
    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    System.out.print("Укажите количество заплывов: ");
    r = sc.nextInt();
   
    System.out.print("Введите время заплыва спортсменов (в секундах):\n");
    int a[][] = new int [n][r];
    for (i = 0; i < n; i++)
      for (j = 0; j < r; j++) 
         a[i][j] = sc.nextInt();    
    
    sum = new int [n];
    for (i = 0;i < n;i++)
     { sum[i] = 0;
        for (j = 0;j < r; j++)
          sum[i] += a[i][j];
      }    
 
   
 
 
     System.out.println();
     for (i = 0;i < n; i++)
       { for (j = 0;j < r; j++)
            System.out.print(a[i][j] + "  "); 
          System.out.print("| " + sum[i]); 
          System.out.println();
        }
   
   //Сортировка
   
    int buf_sum; int nmin, buf_a;
    for(i = 0;i < n-1; i++)
     { nmin = i;
       for(j = i+1;j < n; j++)
         if (sum[j] < sum[nmin]) 
              nmin = j;
         buf_sum = sum[i];
         sum[i] = sum[nmin]; sum[nmin] = buf_sum;
       for(j = 0;j < r;j++)
        { buf_a = a[i][j];
          a[i][j] = a[nmin][j];
          a[nmin][j] = buf_a;
        }
     } 
     
     System.out.println();
     for (i = 0;i < n; i++)
       { for (j = 0;j < r; j++)
            System.out.print(a[i][j] + "  "); 
          System.out.print("| " + sum[i]); 
          System.out.println();
        }
    }
  }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2012, 20:26
Ответы с готовыми решениями:

Переделать задачу-число вывести наоборот.
public class Zadanie1 { public static int poslednee(){ int a =123; a = a % 10; return a; }...

надо переделать задачу она уже решена ну ее нужно переделать
вот задача const n=4; var a:array of integer; i,s:integer; begin for i:=1 to n do begin...

переделать задачу
В заданном тексте определить слово с наибольшим вхождением заданного символа. помогите переделать...

Переделать задачу
uses crt; const n=20; var m,v:array of real; i:byte; mx:real; begin randomize; for...

9
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.09.2012, 21:09 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
int[] otl = new int [n][k+1];
bool flag;
int sum, counter;
for (i = 0;i < n;i++)
{
   sum = 0;
   flag = false;
   for (j = 0;j < k;j++)
   {
      if (a[i][j] < 4)
      {
         flag = true;
         break;
      }
      sum +=a[i][j]
   }
   if (flag) continue;   
   counter++;
   for (j = 0;j < k;j++)  
      otl[i][j] = a[i][j];
   otl[i][k] = sum;               
}
int temp;
for (i = 1;i < n;i++)
   if (otl[i-1][k] < otl[i][k])
      for (int j = 0; j < k+1; j++)
      {
         temp = otl[i-1,j];
         otl[i-1][j] = otl[i][j];
         otl[i,j] = temp;
      }
int[] result = new int[counter][k];
counter = 0;
for (i = 0;i < n;i++)
   if (otl[i][k] != 0) 
   {
      for (int j = 0; j < k; j++)     
          result[counter][j] = otl[i][j];
      counter++;
   }
Могу ошибаться, писал без компилятора.
1
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
25.09.2012, 22:44  [ТС] 3
Да вы Бог программирования!

Добавлено через 1 минуту
Psilon, а сверху
Java
1
2
3
4
5
6
import java.io.IOException;
import java.util.Scanner;
 
public class Sport
{    
  public static void main (String [] args) throws IOException
вставить?
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.09.2012, 22:47 4
Вася1q, я, честно говоря, на джаве никогда в жизни не писал (это фактически первый java-код), так что не знаю. Я подразумевал, что на входе у меня есть массив студентов a с размерами n на k, а на выходе массив отличников размером counter на k. А откуда они там возьмуться - хрен знает. Грубо говоря - это просто метод, который в параметры получает массив, а в качестве возвращаемого значения возвращает другой массив. А что с этим делать - дело основной программы, методу этого знать не положено. Если приводить пример выше, то я начал с 22 строчки (той программы, что вы скинули), то есть сразу после sc.Nextint()
0
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
25.09.2012, 22:58  [ТС] 5
Скиньте лучше полный код...со всеми библиотеками и шапками,пожалуйста!)
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.09.2012, 23:01 6
Вася1q, тогда подождите добрых людей. Я java не знаю Код сортировки должен быть примерно такой. На C/C# я бы написал, а тут хз
1
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
25.09.2012, 23:09  [ТС] 7
Все равно огромное спасибо) Думаю, кто-нибудь еще откликнется!)
0
mutagen
25.09.2012, 23:24
  #8

Не по теме:

на мед форуме:

1. народ у меня отакая болячка, чё делать?
2. попей отакие лекарства
1. ну попил - не помогли, что дальше?
2. та я в принципе не доктор, у меня собака болела я ей давал.
1. и что ей помогло?
2. неа, но мож тебе поможет :D

0
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
25.09.2012, 23:34  [ТС] 9
mutagen, моему младшему брату эта шутка понравилась!!!
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
26.09.2012, 01:21 10
mutagen, вам-ли не знать, что алгоритм (особенно структурный) переписывается с одного языка на другой элементарно? (Естественно, если не рассматривать функциональное и логическое программирование)
0
26.09.2012, 01:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2012, 01:21
Помогаю со студенческими работами здесь

Переделать задачу с do while в for
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;RUS&quot;); int...

Переделать задачу по-другому
Написать метод, который вычисляет НОД двух натуральных чисел (алгоритм Евклида). Написать метод с...

Как переделать задачу?
Y = 0, если n=1,2,3,4 1, если n=10,11,12 2, если n=15,19 3, в другом случае ...

помогите переделать задачу.
дана задача:. Написать программу, которая для прямоугольной целочисленной матрицы опреде¬ляет номер...

Переделать задачу с использованием If
Всем привет... нужно переделать задачу через IF uses crt; var x: integer;y: real; begin ...

Переделать задачу с с++ на pascal
#include &lt;stdio.h&gt; #define len 10 // количество чисел в массиве ////////// MAIN ///////////...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru