С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9

Записи, файлы, строки.

30.06.2009, 23:02. Показов 2696. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1.
Pascal
1
2
3
4
5
6
7
type name=(mary, jane, kim, bob, jan,pit,tom,sara,bill,pol);
data=record
male: boolean; {пол:true-муж, false-жен}
height:140..200; {рост}
cost:word; {зарплата}
end;
group = array[name] of data;
Опишите функцию Higher(G), определяющую имя самого высокого мужчины из группы G.

Вот мои наброски, незнаю правильно или нет, огромная просьба доделайте:
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
function higher(const g: group): name;
var
i: name;
begin
higher:=Low(higher);
while not g[higher].male do
higher:=name(Ord(higher)+1);
for i:=higher to High(i) do
if g[i].male and (g[i].height>g[higher].height) then
higher:=i
end;
 
procedure Fill(var g: group);
var
i: name;
begin
Randomize;
for I:=Low(i) to High(i) do
with g[i] do
begin
male:=Random<=0.5;
height:=Random(200-140+1)+140
end
end;
 
var
g: group;
begin
Fill(g);
WriteLn(Ord(higher(g)));
ReadLn
end.
2.Напишите функцию countEq(f), которая находит кол-во строк в файле, состоящих из одинаковых литер.
В этой я совсем застопорился
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2009, 23:02
Ответы с готовыми решениями:

Строки, массивы, записи, файлы.
1.Дано целое число 31&lt;N&lt;127 , вывести символ с кодом равным N. 2.Вычислить и запомнить в массиве минимумы элементов каждой строки...

Строки, записи и файлы, процедуры функции
Строки, записи и файлы, процедуры функции, массивы Здравствуйте! Помогите пожалуйста с задачами. Как ни пытался, некоторые сделал, а...

Строки, процедуры функции, записи, файлы.
Доброго времени суток. Помогите решить задачи, как не крутил, так ничего не понял Взаранее большое спасибо. 1. 2. 3.

20
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.07.2009, 15:11
2.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
function countEg(var f:text;var k:integer);
var s:string;
    i,n:byte;
begin
k:=0;
while not epf(f) do
 begin
  readln(f,s);
  n:=0;
  for i:=2 to length(s)do
  if s[i]=s[1] then n:=n+1;
  if n=length(s)-1 then k:=k+1;
 end;
1
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 20:41  [ТС]
чёт не работает, или я туплю подредактируйте пожалуйста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function countEq(var f:text;var k:integer): integer;
var s:string;
    i,n:byte;
begin
assign(f,'C:\Users\TimonCer\Desktop\in.txt');
reset(f);
k:=0;
while not eof(f) do
 begin
  readln(f,s);
  n:=0;
  for i:=2 to length(s)do
  if s[i]=s[1] then n:=n+1;
  if n=length(s)-1 then k:=k+1;
 end;
close(f);
end.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 20:52
Не работает потому что есть ошибка:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
function countEg(var f:text;var k:integer);
var s:string;
    i,n:byte;
begin
k:=0;
while not eof(f) do   //  здесь было epf(f)
 begin
  readln(f,s);
  n:=0;
  for i:=2 to length(s)do
  if s[i]=s[1] then n:=n+1;
  if n=length(s)-1 then k:=k+1;
 end;
Теперь нет.
0
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 20:59  [ТС]
эту ошибку я сам заметил, я имел в виду подредактировать конечный(мой) вариант
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 21:21
Функция должна находить в файле количество строк, начинующихся с одинаковой литеры? и литеру нужно задать самому?
0
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 21:27  [ТС]
нет, Функция должна находить в файле количество строк, состоящих из одинаковых литер
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 21:28
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function countEq(var f:text;var k:integer): integer;
var
 s: string;
 i,k,j,x: byte;
 lit: array[1..30] of char;
begin
 assign(f,'C:\Users\TimonCer\Desktop\in.txt');
 reset(f);
 i:=0;
 while not eof(f) do
  begin
   i:=i+1;
   readln(f,s);
   lit[i]:=s[1];
  end;
 for j:=1 to i do
  for x:=j to i-1 do
   if lit[j] = lit[x+1] then k:=k+1;
 close(f);
 writeln('Êîëè÷åñòâî ñòðîê íà÷èíàþùèõñÿ ñ îäèíàêîâîé ëèòåðû ðàâíî ',k);
end.
0
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 21:41  [ТС]
ладно, опишу проблему подробно - открываю программу в паскале
что эту
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function countEq(var f:text;var k:integer): integer;
const
 lit = 'В';
var
 s: string;
 i: byte;
begin
 assign(f,'C:\Users\TimonCer\Desktop\in.txt');
 reset(f);
 i:=0;
 while not eof(f) do
  begin
   readln(f,s);
   if lit = s[1] then i:=i+1;
  end;
 close(f);
 writeln('Количество строк начинающихся с одинаковой литеры равно ',i);
end.
что эту
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function countEq(var f:text;var k:integer): integer;
var s:string;
i,n:byte;
begin
assign(f,'C:\Users\TimonCer\Desktop\in.txt');
reset(f);
k:=0;
while not eof(f) do
begin
readln(f,s);
n:=0;
for i:=2 to length(s)do
if s[i]=s[1] then n:=n+1;
if n=length(s)-1 then k:=k+1;
end;
close(f);
end.
пишет: ожидался символ точка с запятой в последнем end;
помогите нубу ((
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 21:47
это функции, а не прораммы.
0
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 21:49  [ТС]
это функции, а не прораммы.
пардон, оговорился
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 21:54
Так должно работать.
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
program EvgeniiSp;
uses Crt;
var
 g: text;
//----------------------
function countEq(var f:text): integer;
 var
  s: string;
  i,k,j,x: byte;
  lit: array[1..30] of char;
 begin
  reset(f);
  i:=0;
  while not eof(f) do
   begin
    i:=i+1;
    readln(f,s);
    lit[i]:=s[1];
   end;
  for j:=1 to i do
   for x:=j to i-1 do
    if lit[j] = lit[x+1] then k:=k+1;
  close(f);
  result:=k;
 end;
//----------------------
begin
 ClrScr;
 assign(g,'C:\Users\TimonCer\Desktop\in.txt');
 writeln('Êîëè÷åñòâî ñòðîê íà÷èíàþùèõñÿ ñ îäèíàêîâîé ëèòåðû ðàâíî ',countEq(g));
end.
1
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 21:57  [ТС]
работает! спасибо огромное)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.07.2009, 21:58
Вот Ваше задание.
Напишите функцию countEq(f), которая находит кол-во строк в файле, состоящих из одинаковых литер.
В соответствии с ним и ответ. О написании программы в задании нет и речи. А если Вы вообще не знаете, что такое программа, а что такое подпрограмма, то лично мне с Вами просто не очем говорить. Отчислят, и правильно сделают.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 22:04
Puporev, Вы так рассуждаете, как-будто родились и уже все знали, никогда не ошибались и всегда все верно делаете?!
Вопрос не в том что знает, а что нет, а в том почему он это не учит? Лень, тогда Ваше утверждение верно "Отчислят, и правильно сделают.".
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.07.2009, 22:11
Не надо кипятиться. Просто меня всегда раздражают люди, которые не могут даже условие правильно написать. То что они не умеют решать, это понятно, и я решаю. 1378 плюсиков говорят о том что не всех я посылаю подальше.
А Вам бы самому еще поучиться чуть. Вот это например что за перл?
for j:=1 to i do for x:=j to i-1 do if lit[j] = lit[x+1] then k:=k+1;
А еще пару циклов не пробовали добавить?
0
0 / 0 / 0
Регистрация: 30.06.2009
Сообщений: 9
01.07.2009, 22:21  [ТС]
Вот Ваше задание.
Цитата:
Напишите функцию countEq(f), которая находит кол-во строк в файле, состоящих из одинаковых литер.
В соответствии с ним и ответ. О написании программы в задании нет и речи. А если Вы вообще не знаете, что такое программа, а что такое подпрограмма, то лично мне с Вами просто не очем говорить. Отчислят, и правильно сделают.
я знаю какое задание, и вы его выполнили верно, но я, чтобы не создавать новой темы, задал вопрос как написать уже саму прогу, потому что сам не осилил

ps почему не учу? в начале запустил, теперь навёрстываю

Добавлено через 6 минут 59 секунд
1-ую вроди сделал. завтра напишу сюда, вдруг кому понадобится в будущем.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 22:25
Цитата Сообщение от Puporev Посмотреть сообщение
А Вам бы самому еще поучиться чуть. Вот это например что за перл? А еще пару циклов не пробовали добавить?
Я и учусь. Это идет сравнение начальных букв в предложениях, думаю Вы это и сами поняли. И здесь всего два цикла, не вижу ничего страшного. Я не против увидеть Ваше предложение по улучшению данного "перла".
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.07.2009, 22:30
Это идет сравнение начальных букв в предложениях
Условие.
кол-во строк в файле, состоящих из одинаковых литер.
Ну и зачем сравнивать первые литеры каких-то предложений.
А у меня в посте № написано.
Pascal
1
2
for i:=2 to length(s)do
  if s[i]=s[1] then n:=n+1;
Добавлено через 1 минуту 7 секунд
Например строки
ффффффффффффффффффф
ввввввввввввввввввввввввввв
состоят из одинаковых литер и таких строк 2.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
01.07.2009, 22:45
В таком случае получается, что я не правильно понял задание, так как моя программа ищет количество строк, которые начинаются с одинаковых литер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.07.2009, 22:45
Помогаю со студенческими работами здесь

Процедуры и функции,Строки и записи,Файлы
ПОМОГИТЕ С ЛАБАМИ

«Типы данных «строки, записи и файлы»
Предприятие имеет местную телефонную станцию на 20 номеров. Телефонный справочник предприятия для каждого номера телефона содержит номер...

Можно ли усвоить за неделю такие разделы, как: массивы, строки, записи, процедуры и функции, файлы
так,чтобы уметь набирать простенькие программы для начала

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

Записи и файлы
Здравствуйте.Нужна ваша помощь в решении задания.Дан список , содержащий не менее 10 записей, каждая из которых имеет структуру: шифр...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru