Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
qozyrek
6 / 6 / 5
Регистрация: 19.11.2012
Сообщений: 438
1

Поиск минимального элемента в записях - найти машину с самым слабым двигателем

10.06.2014, 22:00. Просмотров 958. Ответов 11
Метки нет (Все метки)

Имеется 10 машин, нужно найти ту, у которой самый слабый двигатель. Я тут что-то накрутил и вообще запутался.
Помогите, пожалуйста, доделать или наставте на путь истинный
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
67
68
69
70
71
72
73
74
75
76
77
78
79
  uses
      crt;
 
  const
        n = 2;
 
  type
      Info = record 
    
        Marka : string;
        Moschnost_dvigatelya : integer;
        Toplivo : integer;
  
      end;
 
  var
    Avto : array[1..n] of Info; 
    found : boolean;
    i, idxi : integer;
 
  begin
  
    found := false;
    for i := 1 to n do 
      with Avto[i] do
    
        begin
      
          writeln('Ведите данные  ', i, '-й машины: ');
          write('Марка: ');
          readln(Marka);
          write('Мощность двигателя: ');
          readln(Moschnost_dvigatelya);
          write('Расход топлива на 100 км: ');
          readln(Toplivo);
          writeln;
      
        end;
  
    clrscr;
  
    begin
      
      var min := avto[1].Moschnost_dvigatelya;
      
      for i := 1 to n do
        begin
          
          if (avto[i].Moschnost_dvigatelya < min) then
            begin
        
              with Avto[i] do
                begin
          
                  idxi := i;
                  writeln('Машина, у котороя самая маленькая мощность двигателя находится'); 
                  writeln('под номером ', idxi, '. Её марка - "', Marka, '". Она потребляет ', Moschnost_dvigatelya, 'л.с.');
                  writeln;
                  found := true;
        
                end;
            end
            else              
                 min := avto[i].Moschnost_dvigatelya;
                 
                  with Avto[i] do
                    begin
                
                      writeln('Машина, у котороя самая маленькая мощность двигателя находится'); 
                      writeln('под номером ', idxi, '. Её марка - "', Marka, '". Она потребляет ', Moschnost_dvigatelya, 'л.с.');
                      writeln;
                      found := true;
                    
                   end; 
        end;  
    end;
  
  if found = false then writeln('Такой машины не найдено.');
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2014, 22:00
Ответы с готовыми решениями:

Найти отношение минимального элемента к сумме элементов расположенных до найденного минимального элемента
Помогите пожалуйста с задачей?!.... Задан одномерный массив,состоящий из 26...

Найти значение минимального элемента массива/минимального значения ниже побочной диагонали
Составьте программу которая запрашивает размеры двумерного массива, значение...

Поиск минимального элемента массива
в массиве хранится информация о стоимости 1 кг 20 видов конфет. определить...

поиск минимального элемента в массиве
дан одномерный массив А. Написать программу на языке паскаль, реализующую поиск...

Поиск максимального/минимального элемента
Дан массив 20 элементов целого типа. Все значения элементов генерируются...

11
pavelDev
45 / 45 / 26
Регистрация: 13.11.2013
Сообщений: 192
Записей в блоге: 1
10.06.2014, 23:53 2
Лучший ответ Сообщение было отмечено qozyrek как решение

Решение

к сожелению твой код не смотрел
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 car=class//для красаты 
private maxSpeed,Rashod:integer;
Marka:string;
public
constructor create(mark:string;maximumSpeed,rashodTopliva:integer);
begin
maxspeed:=maximumSpeed;
Rashod:=rashodTopliva;
marka:=mark;
end;
property MaxSpeedCar:integer read maxSpeed write maxSpeed;
property RashodCar:integer read Rashod write Rashod;
property markaCar:string read Marka write Marka; 
end;
var carArray:array of car;
var a1:string;
a2,a3:integer;
Min:car;
begin
writeln('сколько у нас машин  ?');
var cc:integer;
readln(cc);
SetLength(carArray,cc);
 
for var i:=0 to carArray.Length-1 do
begin
writeln('какая у нас марка ?');
readln(a1);
writeln('какая скорость максимальная?');
readln(a2);
writeln('какой расход максимальный?');
readln(a3);
cararray[i]:=new car(a1,a2,a3);
end;
 
Min:=new car(carArray[0].markaCar,carArray[0].MaxSpeedCar,carArray[0].RashodCar);
 
for var i:=0 to carArray.Length-1 do
if Min.MaxSpeedCar>carArray[i].MaxSpeedCar then
Min:=carArray[i];
Print(Min.markaCar,Min.MaxSpeedCar,Min.RashodCar);
end.
1
qozyrek
6 / 6 / 5
Регистрация: 19.11.2012
Сообщений: 438
11.06.2014, 00:21  [ТС] 3
Цитата Сообщение от pavelDev Посмотреть сообщение
Print(Min.markaCar,Min.MaxSpeedCar,Min.RashodCar);
pavelDev, сенкс
Только в 41-й строке не "Print", a "writeln"
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26486 / 17787 / 7037
Регистрация: 22.10.2011
Сообщений: 31,306
Записей в блоге: 6
11.06.2014, 01:06 4
Лучший ответ Сообщение было отмечено qozyrek как решение

Решение

Цитата Сообщение от pavelDev Посмотреть сообщение
//для красаты
Вот и делал бы красиво, а не в стиле древних компиляторов:
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
uses
  System, System.Collections.Generic;
 
type
  car = class(IComparable)
  private 
    maxSpeed, Rashod: integer;
    Marka: string;
  public 
    constructor create(mark: string; maximumSpeed, rashodTopliva: integer);
    begin
      maxspeed := maximumSpeed;
      Rashod := rashodTopliva;
      marka := mark;
    end;
    
    property MaxSpeedCar: integer read maxSpeed write maxSpeed;
    property RashodCar: integer read Rashod write Rashod;
    property markaCar: string read Marka write Marka;
    
    function CompareTo(obj: Object): Integer;
    begin
      result := maxSpeed.CompareTo((obj as Car).maxSpeed);
    end;
  end;
 
 
var
  L: List<Car> := new List<Car>;
 
var
  a1: string;
  a2, a3: integer;
 
begin
  writeln('сколько у нас машин  ?');
  var cc: integer;
  readln(cc);
  
  for var i := 1 to cc do
  begin
    writeln('какая у нас марка ?');
    readln(a1);
    writeln('какая скорость максимальная?');
    readln(a2);
    writeln('какой расход максимальный?');
    readln(a3);
    L.Add(new car(a1, a2, a3));
  end;
  L.Sort();
  
  with L[Pred(L.Count)] do
    writeln(markaCar, ' ', MaxSpeedCar, ' ', RashodCar);
end.
1
qozyrek
6 / 6 / 5
Регистрация: 19.11.2012
Сообщений: 438
11.06.2014, 01:32  [ТС] 5
UI, pavelDev, Битва Титанов

Добавлено через 12 минут
UI, что-то здесь не так
0
qozyrek
6 / 6 / 5
Регистрация: 19.11.2012
Сообщений: 438
11.06.2014, 01:36  [ТС] 6
UI,
0
Миниатюры
Поиск минимального элемента в записях - найти машину с самым слабым двигателем  
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26486 / 17787 / 7037
Регистрация: 22.10.2011
Сообщений: 31,306
Записей в блоге: 6
11.06.2014, 01:42 7
А, ты самую слабую ищешь? Тогда 52 строку замени на:
Pascal
52
  with L[0] do
, список упорядочивается по возрастанию, в 0 элементе будет минимальное значение... Мне почему-то показалось что надо найти самую сильную машину
0
qozyrek
6 / 6 / 5
Регистрация: 19.11.2012
Сообщений: 438
11.06.2014, 02:14  [ТС] 8
UI, о, вот теперь работает на идИальнА

Добавлено через 57 секунд
UI, где таким штукам научился, если не секрет?
Может посоветуешь список литературы на лето?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26486 / 17787 / 7037
Регистрация: 22.10.2011
Сообщений: 31,306
Записей в блоге: 6
11.06.2014, 02:19 9
Цитата Сообщение от qozyrek Посмотреть сообщение
где таким штукам научился
Я с 1988-го года разным штукам, связанным с компьютерами, учусь Литературы по PABC.NET не читал, посоветовать ничего не могу, см. здесь: Литература по PascalABC.NET , а поскольку все эти "штуки" - из .NET-а, то можешь и в Шарповом разделе посмотреть список литературы...
0
qozyrek
6 / 6 / 5
Регистрация: 19.11.2012
Сообщений: 438
11.06.2014, 02:44  [ТС] 10
UI, ясн.
А вот еще такой вопрос. Она заработает на компах в технаре, если там стоит простой АБЦ?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26486 / 17787 / 7037
Регистрация: 22.10.2011
Сообщений: 31,306
Записей в блоге: 6
11.06.2014, 03:13 11
Нет, это завязано именно на .NET-овских фишках. Если тебе нужно для PABC, то почему создал тему в этом разделе, а не в другом, посвященном именно PascalABC?
0
pavelDev
45 / 45 / 26
Регистрация: 13.11.2013
Сообщений: 192
Записей в блоге: 1
12.06.2014, 11:52 12
UI, для такой простой задачи использовать списки - бред
0
12.06.2014, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2014, 11:52

Поиск минимального элемента массива
Написать программу которая выводит минимальный элемент введённого с клавиатуры...

Найти среднее арифметическое до минимального элемента и после максимального элемента массива
Дан массив F(11). найти среднее арифметическое до минимального элемента и после...

Найти сумму максимального элемента расположенных на четных индексах и минимального элемента на нечетных
Помогите,последняя задача от големов. Дан целочисленный массив размером N...


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

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

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