Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/86: Рейтинг темы: голосов - 86, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 6
1

Подсчитать количество слов в заданном файле

01.12.2009, 20:28. Показов 16119. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить 2 задачки:
1. В тестовом файле записано N строк. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Подсчитать количество слов в данном файле.

2. Матрица целых чисел А размерности n * m (n > m) записана на устройстве D в виде файла с именем FMATRIC.DAN. Не считывая матрицу в память, удалить из файла все записи, соответствующие строкам с номерами n+1, n+2...m, записав их в новый файл. Распечатать полученные два файла в виде матриц соответствующих размерностей с указанием имен файлов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2009, 20:28
Ответы с готовыми решениями:

Подсчитать количество слов в файле
Задан текстовый файл с произвольным именем. Подсчитайте, сколько слов содержит этот файл. Все слова...

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

В исходном файле подсчитать количество слов начинающихся с заданных букв
В исходном файле подсчитать количество слов начинающихся с букв ‘a’, ‘е’, ‘и’, ‘о’. В file2 вывести...

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

10
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
01.12.2009, 20:54 2
Цитата Сообщение от _rita_ Посмотреть сообщение
Помогите пожалуйста решить 2 задачки:
1. В тестовом файле записано N строк. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Подсчитать количество слов в данном файле.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
f:text;
a:array[1..100]of string;
b:array[1..100]of string;
t:string;
k,n,i:integer;
begin
assign(f,'input.txt');
reset(f);
while not eof(f) do
begin
inc(k);
readln(f,a[k]);
a[k]:=' '+a[k];
t:=a[k];
for i:=1 to length(t) do
if (t[i]=' ')and(t[i+1]<>' ')then inc(n) else if (t[i]<>' ')then b[n]:=b[n]+t[i];
end;
close(f);
writeln(n);
end.
0
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 6
01.12.2009, 20:59  [ТС] 3
Спасибо огромное!!!
Можете пояснить эти строчки?
assign(f,'input.txt');
reset(f);
while not eof(f) do
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
01.12.2009, 21:36 4
_rita_,
assign(f,'input.txt') - связываем файловую переменную
reset(f) - открываем файл на чтение
while not EOF(f) do - пока не конец файла
Вот Вам копипаст из справки...
Assign(f,name) процедура f - переменная файлового типа , name - string связывает файловую переменную f с файлом с именем name
Reset(f) процедура f - переменная файлового типа открывает файл, ранее связанный с файловой переменной f с помощью процедуры Assign. Файл должен существовать на диске, в противном случае происходит ошибка времени выполнения. Текстовые файлы открываются только на чтение, типизированные файлы - на чтение и запись
Eof(f) функция f - переменная файлового типа boolean возвращает True, если файловый указатель стоит на конце файла, и False в противном случае
0
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 6
01.12.2009, 21:47  [ТС] 5
Спасибо :****
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.12.2009, 09:43 6
№2.
1. У Вас ошибка в условии. Если n-число строк?, a m-число столбцов, то нужно удалить все записи
с номерами m+1, m+2, ..., m.
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
uses crt;
const max=20;//макс размер матрицы
type mas=array[1..max] of integer;//строки матрицы-массивы
     matr=array[1..max] of mas;//матрица - массив строк
     fail=file of mas;//файл строк матрицы
const fname='D:\FMATRIC.DAN';//имена файлов
      gname='D:\GMATRIC.DAN';
var a:matr;//матрица
    b:mas;//переменная для считывания строк из файлов
    f,g:fail;//файлы
    n,m,i,j:integer;
begin
clrscr;
randomize;
assign(f,fname);
rewrite(f);
assign(g,gname);
rewrite(g);
repeat
write('Количество строк матрицы от 2 до ',max,' n=');
readln(n);
until n in [2..max];
repeat
write('Количество столбцов матрицы, меньше ',n,' m=');
readln(m);
until m in [1..n-1];
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(50)+10;
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
for i:=1 to n do
write(f,a[i]);//пишем матрицу построчно в файл
close(f);
reset(f);
for i:=m to filesize(f)-1 do//последние строки
 begin
  seek(f,i);
  read(f,b);
  write(g,b);//пишем в новый файл
 end;
close(f);
close(g);
reset(f);
seek(f,m);
truncate(f);//обрезаем файл
close(f);
writeln('Содержание файла ',fname);
reset(f);
while not eof(f) do
 begin
  read(f,b);
  for i:=1 to m do
  write(b[i]:4);
  writeln;
 end;
close(f);
writeln;
writeln('Содержание файла ',gname);
reset(g);
while not eof(g) do
 begin
  read(g,b);
  for i:=1 to m do
  write(b[i]:4);
  writeln;
 end;
close(g);
readln
end.
1
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 6
02.12.2009, 20:20  [ТС] 7
СПАСИБО:****
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 36
12.12.2013, 10:22 8
А можно сделать так, чтобы программа считала слова без массивов?
0
21 / 13 / 9
Регистрация: 12.12.2013
Сообщений: 19
12.12.2013, 15:56 9
можно
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 36
12.12.2013, 18:24 10
Помогите пожалуйста сделать это
0
21 / 13 / 9
Регистрация: 12.12.2013
Сообщений: 19
12.12.2013, 19:11 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
var
  f: text;
  s: string;
  i: integer;
  fg: boolean; // флаг слова
  count: integer := 0; // счетчик слов
  
begin
  Assign(f, 'input.txt');
  Reset(f);
  
  while not EoF(f) do
  begin
    fg:=false; // сбрасываем флаг слова
    Readln(f, s); // читаем файл по строчно и записываем в s
   
    for i:=1 to Length(s) do
      if s[i]<>' ' then 
        begin
        if fg=false then Inc(count); // увеличиваем счетчик
        fg:=true;
        end
      else fg:=false; // как только вышли из слова, сбрасываем флаг слова
  end;
  writeln('Кол-во слов в файле: ', count);
end.
0
12.12.2013, 19:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2013, 19:11
Помогаю со студенческими работами здесь

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

Подсчитать в текстовом файле количество слов и количество цифр
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте?

Подсчитать количество слов в файле
Моя программа. но работает не правильно. var f:text; s:string; i,k,n:integer;...

Подсчитать количество слов в файле и записать в файл последней строкой
Здравствуйте, можете подсказать с задачей, пожалуйста?) Написать программу, которая читает файл,имя...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru