Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Puporev
Модератор
54582 / 42088 / 29061
Регистрация: 18.05.2008
Сообщений: 99,260
28.11.2009, 13:54 0

Отсортировать массив

28.11.2009, 13:54. Просмотров 466. Ответов 4
Метки (Все метки)

Ответ

Pascal
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
66
program sred_bal;
uses crt;
type Tstud=record
           fm:string[15];
           im:string[15];
           sb:real;
           end;
var sp:array[1..50] of Tstud;
    n,i,j:byte;
    c:char;
    x: Tstud;
begin
clrscr;
writeln('Введите данные о студентах, окончание ввода Esc:');
n:=0;
repeat
n:=n+1;
writeln(' Студент',n);
write('   Фамилия: ');readln(sp[n].fm);
write('   Имя: ');readln(sp[n].im);
write('   Средний балл:');readln(sp[n].sb);
writeln('Закончить - Esc, продолжить - любую клавишу');
c:=readkey;
until c=#27;
clrscr;
writeln('  Общий список студентов');
writeln;
writeln('-------------------------------------');
writeln('|   Фамилия |   Имя    |Средний балл|');
writeln('-------------------------------------');
for i:=1 to n  do
  begin
    write('| ',sp[i].fm);
    gotoXY(13,whereY);write('| ',sp[i].im);
    gotoXY(24,whereY);write('|',sp[i].sb:8:2);
    gotoXY(37,whereY);write('|');
    writeln;
  end;
writeln('------------------------------------');
write('Нажмите Enter');
readln;
clrscr;
for i:=1 to n-1 do
for j:=i+1 to n do
if sp[i].sb<sp[j].sb then
 begin
  x:=sp[i];
  sp[i]:=sp[j];
  sp[j]:=x;
 end;
writeln('  Список студентов по убыванию среднего балла:');
writeln;
writeln('-------------------------------------');
writeln('|   Фамилия |   Имя    |Средний балл|');
writeln('-------------------------------------');
for i:=1 to n  do
  begin
    write('| ',sp[i].fm);
    gotoXY(13,whereY);write('| ',sp[i].im);
    gotoXY(24,whereY);write('|',sp[i].sb:8:2);
    gotoXY(37,whereY);write('|');
    writeln;
  end;
writeln('------------------------------------');
readln
end.


Вернуться к обсуждению:
Отсортировать массив
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2009, 13:54
Готовые ответы и решения:

Отсортировать массивы, объединить и результирующий массив отсортировать
Помогите пожалуйста, нужно написать в паскале программу: Даны массив А(16), В(10).Отсортировать...

Вычислить среднее арифметическое элементов, дописать в массив и отсортировать массив по возростанию
5)Вычислить среднее арифметическое элементов, дописать в массив и отсортировать массив по...

Массив символов. В процедуре отсортировать массив по алфавиту в обратном порядке
Ввести данные (тип данных указан в вариантах) с клавиатуры в виде «Х=», где i – индекс элемента. -...

Сформировать массив по формуле Yk=K*cos (Ak). Отсортировать массив по возрастанию
Дан массив размера N. Сформировать массив Yn, каждый элемент которого определяется по формуле...

Отсортировать массив
помогите. Линейный целочисленный массив размером N заполнен только нулями и единицами в...

4
Другие темы раздела
Pascal Одномерный массив. http://www.cyberforum.ru/pascal/thread67872.html
Подскажите пожалуйста как решить! Подсчитать число компонент целого массива из 10 элементов, лежащих на отрезке .
Pascal Как вывести в ряд? Как мне вывести в ряд ответ этой задачи, помогите исправить! Var p,i,n: integer; Begin Write('n='); Readln (n); P:=1; For i:=1 to n do P:=p*(2*i-1); Write('p',p); End. http://www.cyberforum.ru/pascal/thread67869.html
Поиск ошибки. Pascal
Доброго времени суток. Уже третий день не могу найти ошибку в программе. Весь код вылизал =( Условия задания: 1. Преобразовать одномерный массив действительных чисел Y (N) = (1.2, -7.1, 2.3,...
Pascal pascal. Массивы и циклы
const N=1; var a: arrayof integer; i: arrayof integer; b,c,f: integer; begin for b:= 1 to n do read(a); f:= -1; write(f);
Pascal Выяснить взаимное расположение точки и окружности http://www.cyberforum.ru/pascal/thread67850.html
1. выяснить взаимное расположение точки A(x0;y0) и окружности (x-a)в квадрате+(y-b)в квдрате-R в квадрате; 2. одноклеточная амеба каждые 3 часа делится на 2 клетки. определить: сколько будет клеток...
Pascal Обработка массива данных Определить номера строк матрицы,в которых нет отрицательных элементов. подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru