4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
1

Подсчитать количество совпадений

21.04.2012, 15:33. Показов 956. Ответов 8
Метки нет (Все метки)

Обьясню в кратце:
Нужно написать програму со структурой:
1)фамилия жениха
2)Фамилия невесты
3)Дата регистрации
4)Дата подачи заявки
5)Отметка(Да/Нет)
(это сделано)

Нужно выдать информацию:
-дата регистрации наиболие большого количесвта свадьб

Тобиш,нужно определить сколько свадьб происходит по определленной дате.
Я пришел к такому выводу,что нужно както из базы,взять и сравнить все даты,Те даты которые совпадают,подщитать,а потом уже определить какое количство самое большое..
но вот с реализацие не все получается..помогите

Примерно вот код(интересует пункт 2):

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Unit poiskk;
interface
uses Crt;
type zavod=record
     Famz:string[25];
     famn:string[20];
     data_r:string[10];
     data_p:string[10];
     vidm:string[3];
 end;
 
var  f,f1:file of zavod;
     i,j,n,s:integer;
     z:zavod;
                   v:char;
                   st,dr:string;
     max,k:real;
     z_max:zavod;
procedure Poisk;
 
implementation
procedure Poisk;
label 1,0;
begin
clrscr;
1:
clrscr;
writeln('Vybirite nuzhnuy poisk: ');
writeln('1)Spisok zaplanovanyh svadb po Vvedeniy dati regestracii');
writeln('2)Data registracii samogo bolshogo kol.svadb');
writeln('3)Familii zheniha i nevesty,svadba kotorih ne sostoyalas');
gotoxy(3,25);write('0 <-- Vozvrat v glavn menu');
gotoxy(1,5);
readln(v);
case v of
'1':begin
s:=0;
writeln('Vvedite datu registracii:');
readln(dr);
reset(f);
clrscr;
gotoxy(27,1);writeln('Spisok zaplanovanyh svadb');
writeln('-------------------------------------------------------------------------------');
writeln('| Familia zheniha | Familia nevesty | Data registracii| Data poda4i | Otmetka |');
writeln('-------------------------------------------------------------------------------');
for i:=1 to filesize(f) do
begin
     read(f, z);
     if (z.data_r=dr) then
     begin
gotoxy(3,wherey);write(z.Famz);
gotoxy(22,wherey);write(z.Famn);
gotoxy(41,wherey);write(z.data_r);
gotoxy(58,wherey);write(z.data_p);
gotoxy(73,wherey);writeln(z.vidm);
writeln('-------------------------------------------------------------------------------');
s:=13;
end;end;
if s<>13 then
begin gotoxy(25,13);writeln('Ne obnaruzheno ni odnogo sovpadenia!!!');
close(f);
readln;
goto 1;end
else   begin
close(f);
readkey;
goto 1;
end;end;
 
 
 
 
 
'2':begin   //интересует этот пункт,как его описать
j:=1;
reset(f);
clrscr;
gotoxy(27,1);writeln('Samoe bolshoe kol. svadb');
writeln('-------------------------------------------------------------------------------');
writeln('| Familia zheniha | Familia nevesty | Data registracii| Data poda4i | Otmetka |');
writeln('-------------------------------------------------------------------------------');
for i:=1 to filesize(f) do
begin
     read(f, z);
     if (z.data_r[1]=dr) then
      begin
     j:=j+1
writeln('-------------------------------------------------------------------------------');
s:=13;
end;end;
if s<>13 then
begin gotoxy(25,13);writeln('Ne obnaruzheno ni odnogo sovpadenia!!!');
close(f);
readln;
goto 1;end
else   begin
close(f);
readkey;
goto 1;
end;end;
 
 
 
 
 
 
 
 
 
 
'0':exit;
else begin
writeln;
writeln('Zdelayte pravilnuy vibor!!');
readln;
goto 1;
end;
end;
 
end;
 
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2012, 15:33
Ответы с готовыми решениями:

Подсчитать количество совпадений буквосочетания "со"
Составить программу, которая подсчитывала сколько в данном слове встречается буквосочетание «со» и...

Подсчитать количество слов в данной строке, подсчитать количество букв а в последнем слове
Дан текст. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в...

Дана строка. Подсчитать количество подсчитать количество содержащихся в ней цифр
1)Дана строка. Подсчитать количество подсчитать количество содержащихся в ней цифр(Эту задачу нужно...

количество совпадений по две одинаковые цифры
Даны два четырехзначных числа, необходимо найти количество совпадений по две одинаковые цифры в...

8
1296 / 469 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
21.04.2012, 22:38 2
Еще не дочитала код, но пожалуйста, не используйте label. Это... нехорошо))

Добавлено через 2 минуты
Ох как непонятно... Разбирать чужие программы - адский труд. Видимо я не смогу вам помочь(
1
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
21.04.2012, 23:56  [ТС] 3
Ну вы весь код не рассматривайте,там достаточно просмотреть саму структуру данных.
а самого кода у меня нету,я просто вам предложил нового не придумывать и просто изменить мой
напишите код пожалуйста..

Добавлено через 52 минуты
ну насколько я понял,нужно будет брать первый элемент сравнивать с остальными,а совпадения подщитывать.Затем брать второй элемент и проводить ту же процедуру,а потом сравнить и опредеиить количестаа совпадений и опредлить самое болшое!но как это прописать в коде я незнаю...
0
1296 / 469 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
22.04.2012, 19:54 4
Ну я вам только эту процедуру напишу тогда.
1
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
22.04.2012, 20:02  [ТС] 5
ну мне ее и нужно,вот только,сначала нужно оперделить количество совпадений между ними,а потом определить соме больше количество совпадений
0
1296 / 469 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
22.04.2012, 20:19 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
ar = array [1..100] of zavod;
 
var a: ar;
    n: integer;
 
{------------------------------------------------------------------}
procedure data;
type data = record
            data: string[10];
            k: integer;
            end;
var b: array [1..100] of data;
    aa: ar;
    nb,na: integer;
    i,j: integer;
    max_data: string[10];
    max_k: integer;
begin
for i:=1 to n do aa[i]:=a[i];
nb:=0;
while na > 0 do
 begin
 inc(nb);
 b[nb].data:=aa[1].data_r;
 b[nb].k:=1;
 for i:=2 to na do
  if aa[i].data_r = aa[1].data_r then
   begin
   for j:=i to na-1 do aa[j]:=aa[j+1];
   dec(na);
   inc(b[nb].k);
   end;
 end; {while}
 
{esli nado, vypishite eti sovpadenia}
 
max_data:=b[1].data;
max_k:=b[1].k;
for i:=2 to nb do
 if b[i].k > max_k then
  begin
  max_k:=b[i].k;
  max_data:=b[i].data;
  end;
 
writeln('Samoe bolishoe kol-vo sovpadenii: ',max_data,' - ',max_k,' registratii');
end;
{------------------------------------------------------------------}
1
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
22.04.2012, 21:00  [ТС] 7
Спасибо огромное,но я вот что хотел спросить,я просто не использую в програме масивов,если я вам дам только сама структуру даных и переменные можете подделать?
Потомучто я вот не пойму зачем нужны масивы сдесь..


Ну вот мои переменные,если нужно добавьте новые,просто чтобы както обойти масивы..
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Unit poiskk;
interface
uses Crt;
type zavod=record
     Famz:string[25];
     famn:string[20];
     data_r:string[10];
     data_p:string[10];
     vidm:string[3];
 end;
 
var  f,f1:file of zavod;
     i,j,n,s:integer;
     z:zavod;
                   v:char;
                   st,dr:string;
     max,k:real;
     z_max:zavod;
0
1296 / 469 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
22.04.2012, 21:05 8
Хм. А как вы хотели обойтись без массивов, если нужно сравнивать элементы?
0
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
22.04.2012, 21:30  [ТС] 9
Та да наверно без них никак..
Спасибо,буду пытатся портировать под мою програму=)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2012, 21:30
Помогаю со студенческими работами здесь

Массивы, найти большее количество совпадений
Дан массив А размером , заполненный рандомно от А до C. Нужной вывести на экран, ту букву которая...

Сравнить строки из файлов, вывести количество совпадений
есть два файла txt файл 1: 15 000 000 строк по 15 символов файл2: 200 000 строк по 15 символов...

Подсчитать количество совпадений
Здравствуйте! Помогите создать счетчик игроков. В онлайн игре есть аукцион. каждому игроку дается...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru