Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
АнтиРЛелик
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 80
#1

Упорядочить список... - Turbo Pascal

17.05.2010, 21:47. Просмотров 343. Ответов 7
Метки нет (Все метки)

Имеется N транспортных средств (ТС). Каждое ТС характеризуется ценой, мощностью двигателя и грузоподъемностью. Упорядочить список ТС: по мощности двигателя, по грузоподъемности.

Добавлено через 24 минуты
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
type ts=record
          dvigok,cena:integer;
          end;
var a:array[1..100] of ts;
    x:ts;
    n,i,j:byte;
    begin
write('введите количество транспортных средств n=');
readln(n);
writeln('введите данные:');
for i:=1 to n do
 begin
  writeln('тс ',i);
  write('цена ');readln(a[i].cena);
  write('мощность двигателя ');readln(a[i].dvigok);
 end;
 
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].dvigok>a[j].dvigok then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('по мощности с наименьшей');
for i:=1 to n do
writeln(a[i].cena,'  ',a[i].dvigok);
readln
end.
Добавлено через 2 минуты
это я по мощности отсортировал...а как бы еще впихнуть ГРУЗОПОДЪЕМНОСТЬ сюда подскажите прошу ,кто сообразил...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2010, 21:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочить список... (Turbo Pascal):

Упорядочить список в алфавитном порядке - Turbo Pascal
Добрый вечер Всем. Одногруппник попросил ему помочь: решить задачу и нарисовать блок-схему. Задача на тему "Работа с записями". А вот...

Упорядочить список студентов по алфавиту - Turbo Pascal
Составить программу для ввода записи по N студентам: Фамилия, год рождения, год поступления в техникум, и оценки по 4 предметам: География,...

Список фамилий упорядочить по алфавиту. - Turbo Pascal
Список фамилий упорядочить по алфавиту. помогите решить задачу - очень надо!:) входные данные - одна строка ткач иванов ибрагимов...

Упорядочить список студентов по среднему баллу - Turbo Pascal
Упорядочить студентов по величине среднего балла (по одной дисциплине).

Список введенных фамилий упорядочить по алфавиту - Turbo Pascal
Нужно список введенных фамилий упорядочить по алфавиту!!!

Упорядочить список фамилий, записанных латинскими буквами - Turbo Pascal
Здравствуйте! Прошу Вашей помощи. Задача: Упорядочить список фамилий, записанных латинскими буквами. Задача решена, но необходимо...

7
lera8
631 / 214 / 26
Регистрация: 03.11.2009
Сообщений: 488
17.05.2010, 21:54 #2
Вам по мощности и по грузоподъёмность нужно я так поняла?
0
АнтиРЛелик
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 80
17.05.2010, 21:56  [ТС] #3
Цитата Сообщение от lera8 Посмотреть сообщение
Вам по мощности и по грузоподъёмность нужно я так поняла?
ага,чтобы сначала написало... по мощности с наименьшей,птом ниже по грузоподъемности...вот так бы хотелось..
0
lera8
631 / 214 / 26
Регистрация: 03.11.2009
Сообщений: 488
17.05.2010, 22:00 #4
Так почему бы вам не сделать то же самое как тут
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].dvigok>a[j].dvigok then
begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
writeln('по мощности с наименьшей');
for i:=1 to n do
writeln(a[i].cena,' ',a[i].dvigok);
но только с грузоподъёмностью или не совсем хорошо понимаю смысл задачи?
0
АнтиРЛелик
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 80
17.05.2010, 22:08  [ТС] #5
Цитата Сообщение от lera8 Посмотреть сообщение
Так почему бы вам не сделать то же самое как тут но только с грузоподъёмностью или не совсем хорошо понимаю смысл задачи?
так пытаюсь... ерунда получается я исходник переделываю..
вы если разобрались,киньте что получилось .
0
lera8
631 / 214 / 26
Регистрация: 03.11.2009
Сообщений: 488
17.05.2010, 22:13 #6
Я подправила не знаю так не так вам нужно
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
type ts=record
          dvigok,cena,gruzpod:integer;
          end;
var a:array[1..100] of ts;
    x:ts;
    n,i,j:byte;
    begin
write('введите количество транспортных средств n=');
readln(n);
writeln('введите данные:');
for i:=1 to n do
 begin
  writeln('тс ',i);
  writeln('цена ');readln(a[i].cena);
  writeln('мощность двигателя ');readln(a[i].dvigok);
  writeln('грузоподъёмность ');readln(a[i].gruzpod);
 end;
 
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].dvigok>a[j].dvigok then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('по мощности с наименьшей');
for i:=1 to n do
writeln(a[i].cena,'  ',a[i].dvigok);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].gruzpod>a[j].gruzpod then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('по грузопод с наименьшей');
for i:=1 to n do
writeln(a[i].cena,'  ',a[i].gruzpod);
readln
end.
1
АнтиРЛелик
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 80
17.05.2010, 22:19  [ТС] #7
спасибочки,хоть смотрю код и сравниваю со своим ,один в один вроде бы ...а мой не работает
а как бы ,для наглядности ,вывести в итог номера тс ,индексы им приклеить...иначе только по цене отличить можно ,а если цена одинаковая...
0
lera8
631 / 214 / 26
Регистрация: 03.11.2009
Сообщений: 488
17.05.2010, 22:30 #8
ну значит вам нужно поправить немного
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
type ts=record
          nom,dvigok,cena,gruzpod:integer;
          end;
var a:array[1..100] of ts;
    x:ts;
    n,i,j:byte;
    begin
write('введите количество транспортных средств n=');
readln(n);
writeln('введите данные:');
for i:=1 to n do
 begin
  writeln('тс ',i);
  a[i].nom:=i;
  writeln('цена ');readln(a[i].cena);
  writeln('мощность двигателя ');readln(a[i].dvigok);
  writeln('грузоподъёмность ');readln(a[i].gruzpod);
 end;
 
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].dvigok>a[j].dvigok then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('по мощности с наименьшей');
for i:=1 to n do
writeln(a[i].nom,' ',a[i].cena,'  ',a[i].dvigok);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].gruzpod>a[j].gruzpod then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('по грузопод с наименьшей');
for i:=1 to n do
writeln(a[i].nom,' ',a[i].cena,'  ',a[i].gruzpod);
readln
end.
1
17.05.2010, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2010, 22:30
Привет! Вот еще темы с ответами:

Записи/ Список студентов / Упорядочить/ Год рождения - Turbo Pascal
Упорядочить список студентов по году рождения и вывести на экран

Упорядочить список по алфавиту по возрастанию номеров групп - Turbo Pascal
Описать переменную "студент", содержащую: имя, фамилию, отчество студента, название учебного заведения, номер группы. Создать список...

Сформировать список целых чисел и упорядочить их по неубыванию - Turbo Pascal
Сформировать список целых чисел и упорядочить их по неубыванию; Помогите пожалуйста..

Упорядочить список учащихся по среднему баллу и распечатать его - Turbo Pascal
Составить список учетной группы, включающей 25 человек. Для каждого учащегося указать дату рождения, год поступления в колледж, курс,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru