Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2015, 16:49   #1
_Valery
Новичок
Джуниор
 
Регистрация: 30.11.2015
Сообщений: 7
По умолчанию Cрочно, пожалуйста помогите написать программу

Есть файл f.in
1) выполнить построчное чтение из файла с удалением лишних пробелов, выделением и выводом на экран отдельных слов, формированием из них массива, выводом каждой строки с уже удаленными пробелами и выводом итогового массива слов
2) отсортировать массив слов методом вставки
3) вывести итоговый массив на печать
P.S. если не сложно, то с комментариями
_Valery вне форума Ответить с цитированием
Старый 30.11.2015, 18:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попытки и наработки не спрашивать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2015, 19:29   #3
_Valery
Новичок
Джуниор
 
Регистрация: 30.11.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Попытки и наработки не спрашивать?
Наработки есть
_Valery вне форума Ответить с цитированием
Старый 30.11.2015, 19:54   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Похвастаешься? )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2015, 20:06   #5
_Valery
Новичок
Джуниор
 
Регистрация: 30.11.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Похвастаешься? )
Код:
uses crt;
var x,w:string; k,i,m,n:byte; p:boolean; f:text; x:array[1..20] of string;  
begin
clrscr;
assign(f,"10.in"); reset(f); n:=0;
while not eof(f) do begin 
n:=n+1;
readln(f,x); writeln(x[n]);
end; close(f);
k:=pos' ',x[n]);
repeat
if k=0 then break;
if k<>0 then delete(x[n],k,1);
until false;
writeln(x[n]);
p:=true;
writeln(t);
for i:=1 to k do begin
 if p=true then do begin
  w:=w+1; m[k]:=m[i]; end;
 if m[i]=' 'then p:=false;
 if m[i]<>' 'then do begin w:=w+1; m[w]:=m[i]; p:=true; end;
end;
m[0]:=chr(k);
writeln(m);
end.
Хвастаться особо нечем, никак не могу разобраться, что добавить, что переделать.. Тут еще и без сортировки

Последний раз редактировалось _Valery; 30.11.2015 в 20:32.
_Valery вне форума Ответить с цитированием
Старый 30.11.2015, 20:47   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Давай по-порядку.
Цитата:
1) выполнить построчное чтение из файла с удалением лишних пробелов, выделением и выводом на экран отдельных слов, формированием из них массива, выводом каждой строки с уже удаленными пробелами и выводом итогового массива слов
Код:
var i,j,n,k:integer; f:text; s,x:array[1..20000] of string;  
...
n:=1;j:=0;
{Считываем файл}
while not eof(f) do begin 
{построчно в массив строк}
 inc(j); readln(f,s[j]); 
{И каждую строку разбиваем на массив слов}
 for i:=1 to Length(s[j]) do if s[j][i]<>' ' then x[n]:=x[n]+s[j][i] else inc(n);
end; 
{Файл закрываем}
close(f);

write('выводом каждой строки с уже удаленными пробелами');
for i:=1 to j do begin
{Каждую строку избавляем от пробелов}
 repeat k:=pos(' ',s[i]); delete(s[i],k,1); until k=0;
{И выводим без них}
 writeln(s[i]);
end;
Освой эту часть, а сортировку уже после можно будет сделать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2015, 20:57   #7
_Valery
Новичок
Джуниор
 
Регистрация: 30.11.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Давай по-порядку.

Код:
var i,j,n,k:integer; f:text; s,x:array[1..20000] of string;  
...
n:=1;j:=0;
{Считываем файл}
while not eof(f) do begin 
{построчно в массив строк}
 inc(j); readln(f,s[j]); 
{И каждую строку разбиваем на массив слов}
 for i:=1 to Length(s[j]) do if s[j][i]<>' ' then x[n]:=x[n]+s[j][i] else inc(n);
end; 
{Файл закрываем}
close(f);

write('выводом каждой строки с уже удаленными пробелами');
for i:=1 to j do begin
{Каждую строку избавляем от пробелов}
 repeat k:=pos(' ',s[i]); delete(s[i],k,1); until k=0;
{И выводим без них}
 writeln(s[i]);
end;
Освой эту часть, а сортировку уже после можно будет сделать.
Хорошо, с этим я разобрался
_Valery вне форума Ответить с цитированием
Старый 30.11.2015, 21:35   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Младец )
Теперь сюда: http://www.programmersforum.ru/showthread.php?t=145221
Примени алгоритм к массиву Х
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2015, 21:44   #9
_Valery
Новичок
Джуниор
 
Регистрация: 30.11.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Младец )
Теперь сюда: http://www.programmersforum.ru/showthread.php?t=145221
Примени алгоритм к массиву Х
таааак, а вот с этим проблемка, буду очень признателен,если вы поможете мне дописать данную программу, мне просто отправить её надо до 00:00

Последний раз редактировалось _Valery; 30.11.2015 в 21:51.
_Valery вне форума Ответить с цитированием
Старый 30.11.2015, 22:06   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Какая проблемка? )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОЖАЛУЙСТА ПОМОГИТЕ ПРОГРАММУ НАПИСАТЬ Марфатри Помощь студентам 2 03.12.2014 22:02
Помогите, пожалуйста, написать программу. Katerina... Общие вопросы C/C++ 0 16.10.2013 22:33
Нужно написать программу в Delphi.Cрочно. Nekitos Фриланс 5 17.01.2011 11:20
Помогите пожалуйста написать программу gamer123 Помощь студентам 1 26.03.2009 18:24
Помогите пожалуйста написать программу (си++) Annes Помощь студентам 3 11.04.2008 22:51