Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
1

Текстовые файлы

06.11.2010, 23:16. Показов 2036. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Условие:
Создать текстовый файл, состоящий из записей, имеющих заданную структуру (см. ваш вариант).
Написать программу, решающую следующие задачи:
1) Занесение записей из текстового файла в массив записей с одновременным определение числа записей во входном файле.
2) Вывод на экран полученного массива.
3) Поиск в массиве и вывод на экран записей по заданному полю.
4) Удаление из массива записей в соответствии с заданием.
5) Вывод на экран оставшегося массива.
6) Упорядочение массива по заданному полю.
7) Вывод упорядоченного массива на экран и в новый текстовый файл.
Все выводимые на экран и в файл результаты должны быть снабжены
заголовками, поясняющими этот результат и оформлены в виде таблиц.


Задание:
Фамилия и инициалы автора Название книги Год издания
15 символов 20 символов число

Поиск и вывод на экран записей о всех книгах, изданных до 1985 года.
Удаление записей о книгах, с фамилией автора “Иванов”.
Упорядочение массива по убыванию года издания.


Помогите пожалуйста!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2010, 23:16
Ответы с готовыми решениями:

Текстовые файлы
Всем привет)) помогите пожалуйста решить задачку: Имеется текстовый файл, переписать в другой...

Текстовые файлы
Всем добрй день! Дана задача:дан текстовый файл F,содержащий строки различной длины. Переписать...

Текстовые файлы
Дан текстовый файл содержащий фамилию ,имя,город,проживания.Проверить встречается ли в файле ...

Текстовые файлы
Текстовые файлы Задание Составьте алгоритм и программ обработки матрицы произвольного размера....

15
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
09.11.2010, 14:52  [ТС] 2
Помогите же кто нибудь!!!
0
Неадекват и грубиян
310 / 297 / 301
Регистрация: 22.02.2010
Сообщений: 647
09.11.2010, 14:55 3
покажите, что вы уже сделали за эти 3 дня.
1
141 / 135 / 69
Регистрация: 15.12.2009
Сообщений: 343
09.11.2010, 15:04 4
в чем помочь? Кода нет, исправлять нечего, может надо было написать так: напишите за меня. Думаю 1 задачу никто за спасибо не станет делать
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 17:42  [ТС] 5
Вот что у меня получилось на данный момент:
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
uses crt;
type
    type_rec=record
    fio:string[15];
    nazvanie:string[20];
    god:word;
end;
 
var
   f_in,f_out:text;
   spis:array[1..1000] of type_rec;
   kol_zap,i:word;
   zap:type_rec;
   key:byte;
   b:array[1..1000] of word;
   y:integer;
 
BEGIN
clrscr;
     assign(f_in,'text.dan');
     reset (f_in);
     i:=0;
     while not Eof(f_in) do
     begin inc(i);
     with spis[i] do
     readln(f_in,fio,nazvanie,god);
     end;
     kol_zap:=i;
writeln('Zapisey:=',kol_zap);
 
assign(f_out,'sor.dan');
rewrite(f_out);
for i:=1 to kol_zap do
with spis[i] do
begin
writeln(f_out,fio:15,nazvanie:20,god);
b[i]:=god;
end;
 
for i:=1 to kol_zap do
with spis[i] do
if (god<1985) or (fio<>'Ivanov..') then
begin
writeln(f_out,fio:15,nazvanie:20,god);
end;
 
repeat
key:=0;
for i:=1 to kol_zap-1 do
with spis[i] do
if b[i]<b[i+1] then
begin
y:=b[i];
b[i]:=b[i+1];
b[i+1]:=y;
key:=1;
end;
until key=0;
writeln('Uporydochenniy massiv');
for i:=1 to kol_zap do
write(b[i]:6);
 
readkey;
END.
Теперь проблемы:
1. Выборка не делается
2. Не знаю как сделать вывод на экран. Пытался в прошлом комменте, но выдает ошибку 105.

Это пока основные проблемы кто поможет?
0
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 18:22 6
1. Выборка не делается
Ну а как вы хотели - из текста читать целочисленный тип не получится. У вас тип файла - текст, а год - число. Используйте при чтении года - какойнить строку, а затем переведите в число с помощью процедуры val
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 18:35  [ТС] 7
Неподкажите как сделать? так как делаю по методичке и в программировании не силен?
0
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 18:47 8
заводите ещё две переменных god_str:string[4] и code:integer
Чтение из файла так - readln(f_in,fio,nazvanie,god_str);
а потом val(god, god_str, code);
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 18:55  [ТС] 9
Так ну с числом более менее понятно а как быть со словом? И как вывод сделать на экран?
0
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 21:07 10
со словами всё так же само как и с числами. Что с выводом не получается?
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 22:28  [ТС] 11
Длеаю вывод как выше описано и ошибка 105. Но так я и не понял как организовать поиск. Может сможеш написать кусок самого поиска?
0
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 23:04 12
скинь текст, поищем ошибку
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
15.11.2010, 23:09  [ТС] 13
Страницей ранее вся программа. Ваш кусок я понять не могу так как незнаю что это за функции и как с ней обращаться.

Добавлено через 2 часа 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
80
81
82
83
uses crt;
type
    type_rec=record
    fio:string[15];
    nazvanie:string[20];
    god:word;
end;
 
var
   f_in,f_out:text;
   spis:array[1..1000] of type_rec;
   c:array[1..100] of string[15];
   m:array[1..100] of string[15];
   x:array[1..100] of string[20];
   s:array[1..100] of word;
   cy:string[15];
   dy:string[20];
   kol_zap,i:word;
   zap:type_rec;
   key:byte;
   b:array[1..1000] of word;
   y,f:integer;
 
BEGIN
clrscr;
     assign(f_in,'text.dan');
     reset (f_in);
     i:=0;
     while not Eof(f_in) do
     begin inc(i);
     with spis[i] do
     readln(f_in,fio,nazvanie,god);
     end;
     kol_zap:=i;
writeln('Zapisey:=',kol_zap);
writeln;
 
assign(f_out,'sor.dan');
rewrite(f_out);
for i:=1 to kol_zap do
with spis[i] do
begin
writeln(fio:15,nazvanie:20,god);
c[i]:=fio;
x[i]:=nazvanie;
b[i]:=god;
end;
writeln;
 
for i:=1 to kol_zap do
if (b[i]<1985) and (x[i]<>'Ivanov..') then
begin
s[i]:=b[i];
m[i]:=c[i];
f:=f+1;
end;
 
repeat
key:=0;
for i:=1 to f do
with spis[i] do
if s[i]<s[i+1] then
begin
y:=s[i];
s[i]:=s[i+1];
s[i+1]:=y;
cy:=m[i];
m[i]:=m[i+1];
m[i+1]:=cy;
dy:=x[i];
x[i]:=x[i+1];
x[i+1]:=dy;
key:=1;
end;
until key=0;
writeln('Uporydochenniy massiv');
for i:=1 to f do
begin
write(m[i]:15,x[i]:20,s[i]:6);
writeln;
end;
readkey;
END.
Теперь проблемы, которые остались:
1. Никак не могу сделать поиск по 2 ключам. Дело в том, что тупо незнаю как проставить фамилию,т.к. дальше есть еще символы. Я незнаю как из зафильтровать. И незнаю как сделать запись не равна фамилии.
2. Не могу собрать в обратно в кучу массив ибо разобрал его по кускам записать в файл.
Выручайте завтра лабу сдавать!!!

Добавлено через 6 часов 9 минут
Народ помогите вывод в файл я сделал, остался только поиск!!!

Добавлено через 8 часов 38 минут
Мне сказали делать через функцию вхождения. Кто нить знает как она делается? Покажите хотя бы принцип!

Добавлено через 6 часов 5 минут
Че никто с форума функцию pos не знает?

Добавлено через 28 минут
Как можно сделать удаление ка в динамическом списке но без его?
0
Artishok
15.11.2010, 23:12
  #14

Не по теме:

хех в текстовом файле хранить такой тип данных

0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
16.11.2010, 06:38  [ТС] 15
Теперь осталось сделать удаление. Там надо сделать при нахождении иванова чтобы нижняя строчка перетаскивалась на верх. Кароч как в динамических списках только с массивом. Я вот чет не дойду ет ваще возможно сделать с массивом?
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
18.11.2010, 21:43  [ТС] 16
народ вы где помогите

Добавлено через 12 часов 38 минут
Нароож подскажите хоть как реалиовать?
0
18.11.2010, 21:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2010, 21:43
Помогаю со студенческими работами здесь

Текстовые файлы
Здраствуйте...прошу помочь в проверке алгоритма и написания программы... Задание такое... &quot;Дан...

Текстовые файлы
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же...

Текстовые файлы
помогите плиз!! нужно срочно!!! 2. Имеется текстовый файл. Переписать его строки в другой файл....

«Текстовые файлы»
Создать в редакторе текстовый файл, внести в него 10 строк произвольного текста. Разработать...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru