|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
15.05.2012, 17:32 | #1 (permalink) |
Новичок
Регистрация: 15.05.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Текстовые файлы. Сведения об автомобилях. Pascal
Создать текстовый файл, который бы содержал марку автомобиля, стоимость, километраж. Упорядочить строки по алфавиту марки автомобиля, в каждую строку файла прибавить средний километраж по всем маркам в файле. Последняя строка нового файла должна содержать количество фирм, выпускающих все перечисленные в файле автомобили. Вот мой листинг: Код:
uses crt; type avto = record marka: string; st,kilo: real; end; var f1,f2: text; name1,name2: string; a: array [1..100] of avto; n,i,j,firms: integer; tmp: avto; begin clrscr; write('Imea faila dlea chtenia: '); readln(name1); assign(f1,name1); reset(f1); write('Imea faila dlea zapisi: '); readln(name2); assign(f2,name2); rewrite(f2); readln(f1,n); for i:=1 to n do begin readln(f1,a[i].marka); readln(f1,a[i].st); readln(f1,a[i].kilo); end; close(f1); for i:=n-1 downto 1 do for j:=1 to i do if a[j].marka > a[j+1].marka then begin tmp:=a[j]; a[j]:=a[j+1]; a[j+1]:=tmp; end; firms:=1; for i:=2 to n do if a[i].marka <> a[i-1].marka then inc(firms); for i:=1 to n do begin writeln(f2,a[i].marka); writeln(f2,a[i].st:6:2); writeln(f2,a[i].kilo:6:2); end; writeln(f2,firms); close(f2); writeln('Dannye byli perepisany v ',name2); readkey; end. Код:
Создать текстовый файл, который бы содержал марку автомобиля, стоимость, километраж. Упорядочить строки по алфавиту марки автомобиля, Код:
в каждую строку файла прибавить средний километраж по всем маркам в файле. Последняя строка нового файла должна содержать количество фирм, выпускающих все перечисленные в файле автомобили. |
15.05.2012, 17:32 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Если проблема еще не решена, можете обратиться к похожим темам Интересная аэрография на автомобилях Массив, файлы, подпрограммы. Pascal Текстовые файлы, Паскаль Паскаль, текстовые файлы |
16.05.2012, 20:46 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
В общем, пока туманная мгла беспросветная. |
|
16.05.2012, 21:19 | #5 (permalink) |
Новичок
Регистрация: 15.05.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Я тоже не понимал, спросил у одногрупников, сказали что просто нужно взять километраж всех машин, и вычислить средний. А нащет фирм, ето да тоесть марка. Ну например в файле введены bmw , Audi , Opel , - и что бы в низу в строке вывело ети марки bmw, Audi , Opel. Или же например если у нас будет задано Fiat, Honda, Suzuki, и что бы нам вывели внизу - Fiat, Honda, Suzuki. Ну типа в таком смысле.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
16.05.2012, 22:41 | #6 (permalink) |
Новичок
Регистрация: 15.05.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Код:
uses crt; type avto = record marka: string; st,kilo: real; end; var f1,f2: text; name1,name2: string; a: array [1..100] of avto; n,i,j,firms: integer; tmp: avto; average: real; begin clrscr; write('Imea faila dlea chtenia: '); readln(name1); assign(f1,name1); reset(f1); write('Imea faila dlea zapisi: '); readln(name2); assign(f2,name2); rewrite(f2); readln(f1,n); for i:=1 to n do begin readln(f1,a[i].marka); readln(f1,a[i].st); readln(f1,a[i].kilo); end; close(f1); for i:=n-1 downto 1 do for j:=1 to i do if a[j].marka > a[j+1].marka then begin tmp:=a[j]; a[j]:=a[j+1]; a[j+1]:=tmp; end; firms:=1; for i:=2 to n do if a[i].marka <> a[i-1].marka then inc(firms); for i:=1 to n do begin writeln(f2,a[i].marka); writeln(f2,a[i].st:6:2); writeln(f2,a[i].kilo:6:2); end; writeln(f2,firms); average:=0; for i:=1 to n do average:=average + a[i].kilo; average:=average/n; writeln(f2,'Srednii kilometraj = ',average:6:2); close(f2); writeln('Dannye byli perepisany v ',name2); readkey; end. |
16.05.2012, 22:46 | #7 (permalink) |
Новичок
Регистрация: 15.05.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вот выложил код там определяет средний километраж. Теперь осталось написать: последняя строка нового файла должна содержать количество фирм (тоисть марок), тех что были перечислены в файле.
|
16.05.2012, 23:01 | #8 (permalink) |
Новичок
Регистрация: 15.05.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
А все, сделал =)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|