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

Исключить из файла все слова, написанные не на русском языке

27.11.2008, 18:09. Показов 2133. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пусть в некоторый файл word.txt построчно записаны слова
задание такое:
исключить из файла все слова написанные не на русском языке
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2008, 18:09
Ответы с готовыми решениями:

Исключить из файла J все слова, написанные целиком заглавными буквами
помогите написать пожлста в Pascal ABC. 1.Дан файл J типа file of string, состоящий из английских...

По какому алгоритму ТP отображает имена файлов, написанных русскими буквами
Никак не могу понять по какому алгоритму Турбо Паскаль отображает имена файлов, написанных русскими...

Введите слово,если первая буква прописная,перевести ее в заглавную.Слово может быть как на англ так и на русском языке
Введите слово,если первая буква прописная,перевести ее в заглавную.Слово может быть как на англ так...

13
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.11.2008, 18:16
не на русском языке
Т.е. удалить слова на украинском, беларусском, марийском, коми и т.д.?
0
0 / 0 / 0
Регистрация: 27.11.2008
Сообщений: 9
27.11.2008, 18:25  [ТС]
нет,ну там нужно создать текстовый файл,с любым набором слов,в данном случае наверно из английских и русских
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.11.2008, 18:57
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
var f,g:text;
    s:string;
    i:integer;
begin
clrscr;
assign(f,'text1.txt'); {открываем для чтения имеющийся файл с этим именем}
reset(f);
assign(g,'text2.txt');{открываем для записи новый файл}
rewrite(g);
while not eof(f) do {пока не конец файла text1}
  begin
   readln(f,s); {считываем по одной строке}
   for i:=length(s) downto 1 do {смотрим строку с конца, чтобы не сбить нумерацию при удалении элементов}
   if s[i] in ['A'..'Z','a'..'z']  {если английская буква}
   then delete(s,i,1); {удаляем ее}
   writeln(g,s); {записываем отремонтированную строку в новый файл}
  end;
close(f); {закрываем оба файла}
close(g);
write('Fail text1 perezapisan v fail text2!');
readln
end.
1
0 / 0 / 0
Регистрация: 27.11.2008
Сообщений: 9
27.11.2008, 19:01  [ТС]
спасибо,очень признательна)
0
 Аватар для pascal65536
11 / 11 / 3
Регистрация: 26.09.2008
Сообщений: 77
27.11.2008, 19:48
Скорее всего надо каждую строку файла разбить на слова, и посмотреть, есть ли в нем символы отличные от русских букв. Если есть, то это слово заведомо нерусское. Например раNетка, лампо4ка
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.11.2008, 21:18
есть ли в нем символы отличные от русских букв. Если есть, то это слово заведомо нерусское. Например раNетка, лампо4ка
Я и спрашивал про украинский, марийский и т.д.
А Ваш жаргон типа лампо4ка, букоф, и прочее относится к русскому языку? Так что не умничайте, я написал то, что попросил ТС.
0
 Аватар для Rajd
44 / 22 / 2
Регистрация: 20.11.2008
Сообщений: 178
28.11.2008, 03:28
Цитата Сообщение от Puporev Посмотреть сообщение
...типа лампо4ка, букоф, и прочее относится к русскому языку? ...
Я конечно не гуру в программировании а особенно на паскале, но как я понимаю данная програ в слове типа "раNетка" удалит N а с "лампо4ка" ничего не сделает. Но это ладно. А что делать с символами не совсем буквами, псевдографикой управляющими символами и etc? Да и может лучше наоборот проверять на принадлежность к Русским буквам и знакам препинания?
0
0 / 0 / 0
Регистрация: 27.11.2008
Сообщений: 9
01.12.2008, 19:28  [ТС]
тут у меня еще вопрос возник по массивам,задача такая: Пусть А- одномерный массив N целых чисел:
а)ПОменять местами min по модулю элемент и max отрицательный элемент
б)проверить,является ли 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
program mass;
uses crt;
const n=15; {Количество элементы}
type mas=array [1..n] of integer; {Описание массива}
var x,y:mas;  {описание переменых}
a,max,k,min,m,f,mm:integer;
d:real;
iy,i,j,imm,imax,imin:byte;
begin
  clrscr;   {Очистка экрана}
  randomize;   {составление и вывод массива}
   for i:=1 to n do {Цикл от 1 до n-го элемента}
    begin
     x[i]:=random(10)-4;
     write(x[i],' ');
    end;
    writeln;   {Проверить, является ли шестой положительный элемент числом, а если такого элемента нет – вывести сообщение}
    m:=0;   {количество ненулевых елементов}
    for i:=1 to n do {Цикл от 1 до n-го элемента}
     begin
      if x[i]<>0 then m:=m+1; {Подсчет ненулевых елементов}
if m=6 then {Выполнение условия}
Begin {поиск отрицательного числа}
if x[i]>0 then
begin
writeln(x[i],'>0');
             break     {выход из цикла}
            end
           else
            begin
             Writeln ('Такого числа нету (',x[i],')');
             break;   {выход из цикла}
            end;
            end;
         end;
{Поменять местами минимальный по модулю элемент и максимальный отрицательный элемент}
   max:=x[1];imax:=1;
    for i:=1 to n do   {Нахождение min эл-та}
     if abs(x[i])<abs(max) then
      begin
       max:=x[i];
       imax:=i;
      end;
      writeln;          {Вывод min эл-та}
      write ('imax=',imax,', ');writeln ('Max=|',max,'|');
      max:=x[1];imax:=1;
       for i:=2 to n do {Нахождение max  эл-та}
        begin
         if (x[i])<(min) then
          begin
           min:=x[i];
           imin:=i;
            end;
        end;
       k:=x[imin];    {Обмен местами min и max}
       x[imin]:=x[imax];
       x[imax]:=k;
       for i:=1 to n do
       write(x[i],' ');
       writeln;
      end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.12.2008, 20:42
У Вас есть ошибки, я сейчас переделаю, но у меня вопрос, это правильно написано?
ПОменять местами min по модулю элемент и max отрицательный элемент
Дело в том, что если будет число -1, то оно может быть одновременно и минимальным по модулю и максимальным отрицательным и ничего не поменяется.

Добавлено через 1 минуту 46 секунд
Наверное надо будет сделать ручной ввод, чтоб постараться избежать такого.

Добавлено через 33 минуты 21 секунду
Вот я сделал, но мне кажется эти три задания надо сделать в разных программах. Если из массива надо удалить ноли, значит они там должны быть, хотя бы 2. Значит минимальный по модулю всегда=0. Как-то не интересно.
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
program mass;
uses crt;
const rm=50;
type mas=array [1..rm] of integer;
var x:mas;
    max,min,f:integer;
    n,i,j,k,imax,imin:byte;
begin
clrscr;
randomize;
write('Введите размер массива n= ');
readln(n);
{Вводим массив}
writeln('Исходный массив:');
for i:=1 to n do
read(x[i]);
readln;
{ищем максимальный отрицательный и минимальный по модулю}
min:=10; max:=-5;imax:=1;imin:=1;
for i:=1 to n do
 begin
   if abs(x[i])<min then
     begin
       min:=x[i];
       imin:=i;
     end;
   if (x[i]<0)and(x[i]>max) then
     begin
       max:=x[i];
       imax:=i;
     end;
 end;
{Меняем местами максимальный и минимальный по условию}
f:=x[imin]; x[imin]:=x[imax]; x[imax]:=f;
{Убедимся что правильно}
writeln('Обмен элементами:');
for i:=1 to n do
write(x[i],' ');
writeln;
{Определяем шестой четный элемент}
k:=0;
for i:=1 to n do
if (x[i] mod 2=0)and(x[i]<>0) then
  begin
   k:=k+1;
   if (k=6)and(x[i]>0) then
     begin
      writeln('Шестой четный элемент положительный');
      readln;
      break;
     end
   else if (k=6)and(x[i]<=0) then
     begin
      writeln('Шестой четный элемент не положительный');
      readln;
      break;
     end;
  end;
if k<6 then  writeln('В массиве нет шести четных элементов');
{Удаление нолей}
i:=1;
while i<=n do
   begin
    if x[i]=0 then
      begin
        for k:=i to n-1 do
        x[k]:=x[k+1];
        n:=n-1;
      end
    else i:=i+1;
  end;
writeln('Массив без нолей:');
for i:=1 to n do
write(x[i],' ');
readln
end.
1
0 / 0 / 0
Регистрация: 27.11.2008
Сообщений: 9
02.12.2008, 17:26  [ТС]
да ,скорее всего про модули не очень корректно звучит,но вы скорее всего правильно сделали,спасибо большое)

Добавлено через 20 часов 21 минуту 28 секунд
Puporev
я кое-что упустила!...надо сделать в режиме рандом ,а не вручную
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.12.2008, 21:20
Вы что издеваетесь? Два раза написано через рандом, один раз у Вас, один раз у меня. Трудно обратно переписать? Я Вам, что, нянька, сопли подтирать:
0
0 / 0 / 0
Регистрация: 27.11.2008
Сообщений: 9
02.12.2008, 21:31  [ТС]
я про тот рандом ,где у вас при включении программы надо вводить вручную цифры...ну уже вроде не надо.
0
(Yellow_Duck)
 Аватар для MadMag
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
02.12.2008, 21:37
как вы весело в это теме обсуждаете))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2008, 21:37
Помогаю со студенческими работами здесь

Из текста, написанного из букв русского алфавита удалить все лишние символы
Из текста, написанного с помощью букв русского алфавита удалить все лишние символы (цифры,...

По русскому названию языка программирования присвоить переменной английское название этого языка
Дан перечень названий языков програм. на русском и англ. языках.По русскому названию...

На русском языке или языке программирования
Опишите на русском языке или на одном из языков программирования алгоритм получения из...

Дано ошибочно написанное слово «килбайот». Путем перемещения его букв получить слово «килобайт»
Дано ошибочно написанное слово «килбайот». Путем перемещения его букв получить слово «килобайт».

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
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