Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
BlsBLES
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 6
1

Сведения о выдаче экземпляра журнала читателю состоят из названия журнала, номера и фамилии читателя

17.10.2016, 15:44. Просмотров 1186. Ответов 6
Метки нет (Все метки)

17.Сведения о выдаче экземпляра журнала читателю состоят из названия журнала, номера и фамилии читателя. Дан набор, состоящий из 1000 таких сведений. Найти:
а) по заданному названию журнала выдававшиеся
номера и фамилии бравших их читателей;
б)для каждого номера заданного журнала
количество его выдач.
Прошу помогите!(((
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2016, 15:44
Ответы с готовыми решениями:

Работа со структурой "Сведения о выдаче экземпляра журнала"
Задание таково: Сведения о выдаче экземпляра журнала состоят из названия журнала, номера и фамилии...

Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл f, содержащий сведения о не
Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл f, содержащий...

Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан типизированный файл f, содержащий сведения
Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан типизированный файл f,...

Записи. Сведения об ученике состоят из его имени и фамилии, названия класса
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в...

6
Cyborg Drone
Модератор
7350 / 3745 / 2678
Регистрация: 17.08.2012
Сообщений: 11,979
19.10.2016, 03:29 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Цитата Сообщение от BlsBLES Посмотреть сообщение
Дан набор, состоящий из 1000 таких сведений
Ну, раз Вам дан этот набор, так дайте его и нам, без него вряд ли удастся что-то написать. Или Вы полагаете, что Вам кто-то будет придумывать и вводить в компьютер +100500 символов? Эдак пальцы по локоть стереть можно. Или мозги сломать. Придумать названия для 1000 журналов и ещё 1000 фамилий с номерами, и потом не заболеть головной скорбью - это не каждому дано.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5308 / 3164 / 2342
Регистрация: 22.11.2013
Сообщений: 8,945
19.10.2016, 09:14 3
Cyborg Drone,
на самом деле в отсутствии таких данных даже есть большой плюс -- можно считать, что они записаны в три строки на запись, поэтому их можно читать при помощи
Pascal
1
ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
А дальше дело техники:
Pascal
1
2
3
4
5
6
Write('Название: '); ReadLn(s);
Reset(f);
while not EoF(f) do begin
  ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
  if s=nam then WriteLn(num,#9,fio);
end;
Pascal
1
2
3
4
5
6
7
8
Write('Название: '); ReadLn(s);
Write('Номер: '); ReadLn(n);
Reset(f); k:=0;
while not EoF(f) do begin
  ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
  if (s=nam) and (n=num) then Inc(k);
end;
WriteLn('Выдач: 'k);
Добавлено через 5 минут
PS. Ну а 1000 -- это чтобы в один массив все положить нельзя было, иначе на запись выйдет по 65 байт, что может быть маловато (а может и нет).
0
Cyborg Drone
Модератор
7350 / 3745 / 2678
Регистрация: 17.08.2012
Сообщений: 11,979
19.10.2016, 12:05 4
bormant, ну так не проще ли было написать, что массив применять нельзя? А то ведь цинично указано:
Цитата Сообщение от BlsBLES Посмотреть сообщение
из 1000 таких сведений
вместо "не более чем из 1000 таких сведений". Вот 1000, и всё тут. Как-то сразу отбивается всяческое желание проверять программу с набором сведений строго по заданию.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5308 / 3164 / 2342
Регистрация: 22.11.2013
Сообщений: 8,945
19.10.2016, 12:16 5
Cyborg Drone,
метод индукции в помощь, не полным же перебором проверять :-)
0
BlsBLES
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 6
21.10.2016, 04:50  [ТС] 6
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
uses crt;
type info=record
     name,knig:string;
     num:integer;
 
          end;
          
var a: array[1..100] of info;
    b: array[1..100] of integer;
    f:text;  i,n,v,nm,k,q,mq,sn1:integer;
    sn:string;  c:integer;
    
Begin
 Clrscr;
 assign(f, 'D:\\register.txt');
 reset(f);
  i:=1;
while not eof(f) do
  with a[i] do
    begin
      inc(i);
      readln(f,name);
      readln(f,num);
      readln(f,knig);
      readln(f);
    end;
close(f);
 
n:=i;
writeln('Выберете одно из двух:');
writeln ('1 - выводит номер и фамилию бравших читателей');
writeln('2 - выводит для каждого номера заданного журнала количество его выдач:');
readln(v);
writeln;
 
 
        if v=1 then
           begin
             writeln('Введите название журнала: ');
             readln(sn);
                 for i:=1 to n do
                 with a[i] do
                        if sn=name then
                            begin
                              writeln('Номер журнала: ',num,', фамилия читателя: ',knig);
                              writeln;
                            end;
           end
 
 
      else if v=2 then
          begin
             writeln('Введите номер журнала: ');
             readln(sn1);
             
            for i:=1 to n do
              with a[i] do
                 if sn1=num then
                    begin
                      inc(q);
                      b[q]:=num;
                      mq:=q;
                    end;
 
 c:=1;
           for q:=1 to mq do
             begin
                 if b[q]=b[q+1] then
                
                   c:=c+1;
                       
                         end;
              writeln('Журнал номера ', b[q],' был выдан ', c);
             end; 
            
readln
 end.
Я сделал такую программу, вроде бы все работает, есть ли какие то по вашему мнению недочеты или можно где то доработать?
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5308 / 3164 / 2342
Регистрация: 22.11.2013
Сообщений: 8,945
21.10.2016, 08:38 7
Недочеты? Например,
-- 100 меньше 1000,
-- номер журнала -- это все-таки не любой журнал с заданным номером, а конкретное издание,
-- необходимость массива b, как впрочем и a, весьма сомнительна,
-- двойной бэкслеш в именах файлов не нужен.

Добавлено через 11 минут
Кликните здесь для просмотра всего текста

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
var
  f: Text;
  nam, fio, s: String;
  num, n, v: Integer;
begin
  Assign(f,'d:\register.txt');
  repeat
  WriteLn('1 - выдачи по названию');
  WriteLn('2 - количество выдач');
  WriteLn('0 - выход');
  ReadLn(v);
  case v of 
  1:
    begin
      Write('Название: '); ReadLn(s);
      Reset(f);
      while not EoF(f) do begin
        ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
        if s=nam then WriteLn(num,#9,fio);
      end;
    end;
  2:
    begin
      Write('Название: '); ReadLn(s);
      Write('Номер: '); ReadLn(n);
      Reset(f); k:=0;
      while not EoF(f) do begin
        ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
        if (s=nam) and (n=num) then Inc(k);
      end;
      WriteLn('Выдач: 'k);
    end;
  end;
  until v=0;
  Close(f);
end.
1
21.10.2016, 08:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 08:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сведения об автомобиле состоят из его марки, номера и фамилии владельца
1. Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл f, содержащий...

Сведения об автомобиле состоят из его марки, номера и фамилии владельца
Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл f, содержащий...

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

Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в...


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

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

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