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

Распечатать то предложение, в котором указанный символ встречается большее количество раз

12.01.2010, 19:43. Показов 1457. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, помогите пожалуйста решить 2 задачи. Пропустил пару тем...про модули вообще молчу, завал...помогите пожалуйста...


первая... Вводятся 2 предложения и символ. Необходимо распечатать то предложения, в котором указанный символ встречается большее количество раз. Для решения написать функцию, которая ищет указаный ей символ с заданой позиции в строке и возвращает номер позиции, в которой он стоит или 0, если он не найден

вторая ....Оформить модуль для работы с файлами вещественных данных: процедуры и функции для поиска позиции, в которой располагается элемент данных, удаления в файле элемента, стоящего в заданой позиции, удаления в файле всех элементов с заданым значением и т.д. Использовать ресурсы модуля в программе.

Вот собственно 2 задачи, помогите пожалуйста...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2010, 19:43
Ответы с готовыми решениями:

Вывести слово, в котором заданная буква встречается бОльшее количество раз
Пытался написать программу, в первой строке которой вводится предложение (можно без запятых и точек) а во второй строке вводится буква. ...

Указать сколько раз в строке встречается указанный символ
uses CRT; var S: String; C: Char; Cnt, I: Byte; begin Write('Vvedite stroky: '); ReadLn(S); Write('Vvedite...

Подсчитать, сколько раз встречается в данной строке указанный символ
При построении выводится Warning: No stack При запуске программы выводит только единицы. В чем ошибка? запускал в TASM. .model...

3
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
13.01.2010, 15:45
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1.
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
uses crt;
function MyPos(s:string;c:char;k:byte):byte;
var i,p:byte;
begin
p:=0;
for i:=k to length(s) do
if s[i]=c then
 begin
  p:=i;
  break;
 end;
MyPos:=p;
end;
var s1,s2:string;
    ch:char;
    i,k1,k2:byte;
begin
clrscr;
writeln('Первое предложение:');
readln(s1);
writeln('Второе предложение:');
readln(s2);
write('Искать символ ch=');
readln(ch);
k1:=0;
i:=1;
while i<=length(s1)do
if MyPos(s1,ch,i)>0 then
  begin
   k1:=k1+1;
   i:=MyPos(s1,ch,i)+1;
  end
else i:=i+1;
writeln('k1=',k1);
i:=1;
while i<=length(s2)do
if MyPos(s2,ch,i)>0 then
  begin
   k2:=k2+1;
   i:=MyPos(s2,ch,i)+1;
  end
else i:=i+1;
writeln('k2=',k2);
if k1=k2 then
write('Символ ',ch,' встречается в предложения одинаковое число раз!')
else if k1>k2 then write(s1) else write(s2);
readln
end.
Добавлено через 2 часа 52 минуты
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
unit typ_file;
interface
const t=0.000001;{точность сравнения вещественных чисел}
type fail=file of real;
procedure WriteFile(var f:fail);{создание файла}
procedure ReadFile(var f:fail);{чтение файла}
procedure Pos(var f:fail;a:real;var p:integer);{нахождение позиции}
procedure Del_K(var f:fail;k:integer);{удаление по номеру позиции}
procedure Del_X(var f:fail;a:real);{удаление заданного элемента}
implementation
procedure WriteFile;
var x:real;
    s:string;
begin
write('Имя файла: ');
readln(s);
assign(f,s);
rewrite(f);
writeln('Введите в файл вещественные числа, окончание ввода ноль:');
repeat
readln(x);
write(f,x);
until x=0;
close(f);
end;
procedure ReadFile;
var x:real;
begin
{$I-}reset(f);{$I+}
if IOResult<>0 then
 begin
  writeln('Файл не создан! Создайте файл.');
  readln;
  WriteFile(f);
  exit;
 end;
while not eof(f) do
 begin
  read(f,x);
  write(x:5:2,' ');
 end;
readln;
close(f);
end;
procedure Pos;
var i:integer;
    x:real;
begin
{$I-}reset(f);{$I+}
if IOResult<>0 then
 begin
  writeln('Файл не создан! Создайте файл.');
  readln;
  WriteFile(f);
  exit;
 end;
write('Введите элемент для поиска позиции=');
readln(a);
p:=-1;
for i:=0 to filesize(f)-1 do
 begin
  read(f,x);
  if abs(x-a)<t then
   begin
    p:=i;
    break;
   end;
 end;
if p=-1 then writeln('Такого элемента в файле нет!')
else writeln('номер позиции=',p+1);
readln;
close(f);
end;
procedure Del_K;
var i:integer;
    x:real;
begin
{$I-}reset(f);{$I+}
if IOResult<>0 then
 begin
  writeln('Файл не создан! Создайте файл.');
  readln;
  WriteFile(f);
  exit;
 end;
write('Введите номер позиции для удаления=');
readln(k);
if (k<1)or(k>filesize(f))then
 begin
  writeln('Такой позиции в файле нет!');
  exit;
 end;
for i:=k-1 to filesize(f)-2 do
 begin
  seek(f,i+1);
  read(f,x);
  seek(f,i);
  write(f,x);
 end;
seek(f,filesize(f)-1);
truncate(f);
close(f);
end;
procedure Del_X;
var i,k,j:integer;
    x:real;
begin
{$I-}reset(f);{$I+}
if IOResult<>0 then
 begin
  writeln('Файл не создан! Создайте файл.');
  readln;
  WriteFile(f);
  exit;
 end;
write('Введите элемент для удаления: ');
readln(a);
k:=0;
i:=0;
while i<=filesize(f)-1 do
 begin
  seek(f,i);
  read(f,x);
  if abs(x-a)<t then
   begin
    k:=k+1;
    for j:=i to filesize(f)-2 do
     begin
      seek(f,j+1);
      read(f,x);
      seek(f,j);
      write(f,x);
     end;
   end
  else i:=i+1;
 end;
seek(f,filesize(f)-k);
truncate(f);
close(f);
end;
end.
Текст программы.
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
uses crt,typ_file;
var g:fail;
    pz:integer;
    a:real;
    w:char;
begin
clrscr;
repeat
clrscr;
writeln('Выберите действие:');
writeln('1-создать новый файл');
writeln('2-найти позицию элемента');
writeln('3-удалить элемет с указанной позиции');
writeln('4-удалить заданные элементы');
writeln('5-прочитать файл');
writeln('другое-выход');
write('w=');readln(w);
case w of
'1':WriteFile(g);
'2':Pos(g,a,pz);
'3':Del_K(g,pz);
'4':Del_X(g,a);
'5':ReadFile(g);
else exit;
end;
until not (w in ['1'..'5']);
end.
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 23
13.01.2010, 16:33  [ТС]
с первой задачей я разобрался, все понятно. Большое спасибо за ваши старания и труды над двумя задачами. У меня есть вопросик...ко второй задаче я так понял оба кода относятся, только первый очень большой, а второй поменьше...Для чего нужен первый?? И как вообще сделать что б программа работала??


З.Ы. Просто ради успокоения поясняю, что я реально проболел эту тему, не прогулял а проболел, поэтому не понимаю что где и как...как оно задается. Буду признателен, если вы (или ктото) обьясните что к чему в тех двух кодах...СПАСИБО!
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
13.01.2010, 16:36
morgan996, В двух словах так. Файл с текстом модуля нужно сохранить с тем именем что и название модуля. Потом нажать Ctrl+F9 спросит, откомпилировать? ОК. Все. Запускайте программу и работайте, там этот модуль уже прописан. А вообще наберите а Гугле Модули в Паскале и читайте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2010, 16:36
Помогаю со студенческими работами здесь

Подсчитайте, сколько раз встречается в вашем тексте указанный символ
Подсчитайте, сколько раз встречается в вашем тексте указанный символ. program n2; Var x,text:string; k,j:integer; Begin ...

Строка: Подсчитать, сколько раз встречается в данной строке указанный символ
Здравствуйте, у меня тут такие задачи надо решить. Я новичок, и не очень понимаю всю суть программы.Помогите решить 2 задачки: 1. Целое...

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

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

Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки)
состоит из слов, разделенных одним или несколькими пробелами. Найти слово, один и тот же символ в котором встречается максимальное число...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru