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

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

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

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


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

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


Помогите пожалуйста!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2010, 23:16
Ответы с готовыми решениями:

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

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

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

15
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
09.11.2010, 14:52  [ТС]
Помогите же кто нибудь!!!
0
Неадекват и грубиян
 Аватар для pryda
310 / 297 / 301
Регистрация: 22.02.2010
Сообщений: 647
09.11.2010, 14:55
покажите, что вы уже сделали за эти 3 дня.
1
141 / 135 / 69
Регистрация: 15.12.2009
Сообщений: 343
09.11.2010, 15:04
в чем помочь? Кода нет, исправлять нечего, может надо было написать так: напишите за меня. Думаю 1 задачу никто за спасибо не станет делать
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 17:42  [ТС]
Вот что у меня получилось на данный момент:
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
 Аватар для Negor
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 18:22
1. Выборка не делается
Ну а как вы хотели - из текста читать целочисленный тип не получится. У вас тип файла - текст, а год - число. Используйте при чтении года - какойнить строку, а затем переведите в число с помощью процедуры val
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 18:35  [ТС]
Неподкажите как сделать? так как делаю по методичке и в программировании не силен?
0
 Аватар для Negor
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 18:47
заводите ещё две переменных 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  [ТС]
Так ну с числом более менее понятно а как быть со словом? И как вывод сделать на экран?
0
 Аватар для Negor
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 21:07
со словами всё так же само как и с числами. Что с выводом не получается?
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
14.11.2010, 22:28  [ТС]
Длеаю вывод как выше описано и ошибка 105. Но так я и не понял как организовать поиск. Может сможеш написать кусок самого поиска?
0
 Аватар для Negor
57 / 56 / 10
Регистрация: 29.03.2010
Сообщений: 289
14.11.2010, 23:04
скинь текст, поищем ошибку
0
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 182
15.11.2010, 23:09  [ТС]
Страницей ранее вся программа. Ваш кусок я понять не могу так как незнаю что это за функции и как с ней обращаться.

Добавлено через 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
15.11.2010, 23:12

Не по теме:

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

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

Добавлено через 12 часов 38 минут
Нароож подскажите хоть как реалиовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2010, 21:43
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru