Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [pascal]массивы


Автор: Babyuk 20.2.2008, 16:08
данны массивы
ф1..ф20-фамилии водителей
нф1..нф20-номерные знаки машин
с1..с20-пройденный за смену путь,км
рт1..рт20-расход топлива за смену,л

Напечатать список водителей с указаниме номерных знаков автомашин,у которых расход топлива на 100км составит от 8 до 10л.Отдельно напечатать список водителей у которых расход топлива более 10л на 100км.

возможно делать нужно как то с помощью таблицы,т.е использовать её при выводе.

Всем огромное спасиюо за помощь.

Автор: bobik02 20.2.2008, 18:43
Задача на самом деле очен даже простая...

Вы лучше скажите что вы сами ДЕЛАЛИ или ДУМАЛИ для того что бы решить данную задачу? и что у вас не получаеться, если хотите помощи ...

А если вы хотите готовое решения задачи (на тарелочке), то вам скорее всего надо платить за решения задачи , впринципе может и найдется добрый человек который вам сделает и бесплатно, но есть ли в этом смысл? (в итоге получаеться как на баше: "Своими мозгами йа пользуюсь, а имею Ваши")  etc...

Автор: Babyuk 20.2.2008, 19:19
если задача простая для ВАС почему бы и не написать?По мойму это не курсовик,и у знающего человека займет мало времени,так что разговор о деньгах думаю не уместен.Это моя 8я задача из тех которые я должен был сделать.5 из них я сделал сам.То что я знаю -я делаю.В данном случае я понятия не имею как решать.Так что большая просьба решить её.

Автор: bobik02 20.2.2008, 19:57
Цитата(Babyuk @  20.2.2008,  19:19 Найти цитируемый пост)

По мойму это не курсовик,и у знающего человека займет мало времени,так что разговор о деньгах думаю не уместен

ну скажем так: вот я сейчас тоже "редиска" студент, но задача 2+2 =))

Цитата(Babyuk @  20.2.2008,  19:19 Найти цитируемый пост)

.Это моя 8я задача из тех которые я должен был сделать.5 из них я сделал сам.

отлично  smile  еще пол сотни или больше задачек и зачет ))

Цитата(Babyuk @  20.2.2008,  19:19 Найти цитируемый пост)

То что я знаю -я делаю.  В данном случае я понятия не имею как решать.

а вот это не совсем правильно лучше переформулировать так: "То что я знаю - я делаю, а то что нет -  разбираюсь и тоже делаю" smile

А разве нет желания попытаться разобраться и  самому сделать? 
(поймите вам сделать абы как, что бы получить корочку, а нам потом возможно с вами и работать в одной компании...
А если вы на роботу прийдете и вам дадут ТЗ, что бы написать что то на подобие этой задачи с наворотами, что тогда? будете говорить я незнаю, я делаю только то что я знаю, или будете просить кого то что бы сделали за вас?)

Возмите листик бумаги поптытайтесь чет подумать нарисовать, потом с кодом пошаманить - а там глядиш что то и получиться.

Автор: Babyuk 20.2.2008, 20:12
bobik02, хм как я могу разобратся если не знаю даже с чего начать?Если я увижу код-я все могу разобрать и пойму задачу.А вот написать его самому-проблема.

Автор: bobik02 20.2.2008, 20:41
Цитата

хм как я могу разобратся если не знаю даже с чего начать?
Если я увижу код-я все могу разобрать и пойму задачу.

Ну ладно с чего начать ниже подскажу...

Цитата

А вот написать его самому-проблема.

Плохо!  тут дело даже не в коде, а наверное в логике или что то в этом роде.
Понимаете в чем дело, здесь не важно какой язык pascal, c++ , php,  и т.д. эту задачу можно и на Фортране решить.
Данная задача должна как бы проверить студента знает ли он что такое массивы, циклы,условия, операции и т.д , что бы сдудент инициализировал массив, забил в него значения, потом проверяеться знает ли студент что такое циклы и применил соответсвующй, применил условия и всякие прочие навороты  etc...
Как говорил один "дядяка" : Это типичные задачки что бы дань студенту начальные понятия о программировании и складывания алгоритмов.

Как по мне то впринцыпе можно и один массив использовать (но раз в задачке сказано дофига массивов тада используй дофига), а я б сделал что то типа такого:
Код

...
Type   BlaBla = record
 
       LastName                         : string[50];
       RegistrationNumberOfCar : string[8];
       Kilometres                         : integer;
       Fuel                                    : integer;
end;
...
var
Massiv: array [1..20,1..20] of BlaBla;
....
1. Заполняем массив данными
...
2. делаем функцию расчета расхода бензина за 100 км или просто считаем, вот тебе формула(5й клас):
Литры / Километраж * 100 = Расход на 100 км
(Т.е. залитые литры бензина делим на пройденный на эти литры путь и умножаем на 100 - получаем  расход бензина на 100 км)
...
3. Бегаем по массиву в цыкле, и ищем по условию водителей у которых расход попадает в рамки от 8 до 10 л. на 100 км. и выводим этих челов,  а потом тоже самое только у которых больше чем 10л на 100 км
 и т.д и т.п

смысл ясен ?

Автор: mr.Anderson 20.2.2008, 20:48
bobik02, не стоит разводить полемику. Подтолкни к решению, и все. Если не хочешь подталкивать - лучше ничего не говори. Если человек не получит ответа, от всяко начнет думать сам.

В данном случае я помогу кодом. Работу программы не проверял, но код компилируется. Написано в Delphi 2007.
Код

program Project1;

const
 n = 20;

type
 TStringArray = Array [1..n] of String;
 TIntArray    = Array [1..n] of Integer;
 TRealArray   = Array [1..n] of Real;

var
 f, nf : TStringArray;
 s, rt : TIntArray;
 sentF : TRealArray;
 i     : Integer;

begin
 //подразумевается, что массивам присвоены значения
 //... 

 //строим массив расхода топлива на 100 км. Попутно выводим тех, кто удовлетворяет условию
 for i:=1 to n do
 begin
  sentF[i] := s[i] / rt[i] * 100;

  if( sentF[i] >= 8 ) and ( sentF[i] <= 10 ) then
   writeln( f[i], ' ', nf[i], ' ' );
 end;

 //отдельно печатаем тех, у кого не более 10 литров на 100 км
 writeln;
 writeln;

 for i:=1 to n do
  if( sentF[i] <= 10 ) then
   writeln( f[i], ' ', nf[i] );

 readln;
end.

Автор: bobik02 20.2.2008, 20:54
Цитата(mr.Anderson @  20.2.2008,  20:48 Найти цитируемый пост)
 не нужно давить на человека, показывая свою "крутость", что ты все знаешь, но не будешь помогать, потому что бесплатно и потому что хочешь, чтобы он подумал самостоятельно. 
Если хочешь, чтобы человек подумал сам - дай ему идею, подтолкни к решению, а не разводи полемику относительно того, что он должен делать, а что не должен.

Я совсем не хотел "давить" на него! (да и не тот я человек что бы поюлить "крутостью", сам я тоже "зеленый" студент), идею я приблизительно дал, да и демагогию я здесь разводить совсем не собирался!
Может быть Вы просто меня не правильно поняли,  тогда Извините если что не так. smile

Автор: Babyuk 20.2.2008, 20:56
bobik02, 
mr.Anderson, спасибо огромное с таблицами сам буду разбиратсяsmile

Автор: mr.Anderson 20.2.2008, 21:07
bobik02, возможно. smile Конфликт исчерпан.

Babyuk, разбирайся, будут вопросы - обращайся.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)