IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> разбиение на слова + массивы, Массивы + строки
HeX
сообщение 20.11.2005 22:36
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской
Реальное имя: AleX

Репутация: -  -1  +


SoS

1.Дана строка символов. Группу символов, разделенных с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом.
Присвоить переменной F = 1, если слово с наибольшим количеством символов находится в первой половине строки, F= 2 – во второй половине, F= 0 – часть слово в первой, а часть во второй. Предполагается, что слово с наибольшей длиной единственное.

2.Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содер-жащих хотя бы один нулевой элемент.
Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик.


--------------------
...Купи слона, ну и что что все говорят продай слона...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 20.11.2005 22:57
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
1.Дана строка символов. Группу символов, разделенных с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом.
Присвоить переменной F = 1, если слово с наибольшим количеством символов находится в первой половине строки, F= 2 – во второй половине, F= 0 – часть слово в первой, а часть во второй. Предполагается, что слово с наибольшей длиной единственное.


вот

Исходный код

Type
TElem = string;
TList = ^TNode;
TNode = record
Info: TElem;
Next: TList
end;


function getmax(l:tlist):string;
var
max:string;
begin
max:='';
while L <> nil DO
begin
if length(L^.Info)>length(max) then max:=L^.Info;
L := L^.Next
end;
getmax:=max;
end;


procedure ListClear ( var L: TList );
var
N: TList;
begin
while L <> nil do
begin
N :=L;
L:=L^.Next;
dispose(N)
end
end;


function SepWord(s:string):tlist;
procedure AddLast(var L: TList; E: TElem);
var
N, P: TList;
Begin
new(N);
N^.Info :=E; N^.Next :=nil;
if L= nil then L:=N else begin
P:=L;
while P^.Next <> nil do P:=P^.Next;
P^.Next:=N
end
End;
const
i:integer=1;
r:set of char = [chr(0)..chr(255)]-['A'..'Z','a'..'z','1'..'9','0'];
var
SL:boolean; L: TList; ss:string;
begin
sl:=false; L:=nil; ss:='' ; i:=1;
while i<=length(s) do begin
if ((not(s[i] in r)) and (sl=false)) then sl:=true;
if (not(s[i] in r)) and (sl=true) then ss:=ss+s[i];
if ((s[i] in r)or(i=length(s))) and (sl=true) then
begin
AddLast(L,ss); ss:=''; sl:=false;
end;
inc(i)
end;
SepWord:=L;
end;

var
L:tlist;
maxstr,s:string;
f:byte;
begin
l:=nil;
write('Enter string : '); readln(s);
l:=sepword(s);
maxstr:=getmax(l);
if pos(maxstr,s)<length(s) div 2 then f:=1;
if pos(maxstr,s)>length(s) div 2 then f:=2;
if (pos(maxstr,s)<length(s) div 2) and (pos(maxstr,s)+length(maxstr)>length(s) div 2) then f:=0;
writeln(f);
readln;
listclear(l);
end.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
HeX   разбиение на слова + массивы   20.11.2005 22:36
Altair   вот Type TElem = string; TList = ^TNode; TN...   20.11.2005 22:57
Altair   const size_row = 10; { число строк } size_col =...   20.11.2005 23:12
HeX   Спасибо большое но не могли бы сделать первую зада...   21.11.2005 20:03
Altair   Можно. щас переделаем.   21.11.2005 20:09
Altair   вот преобразование с минимальными изменениями Typ...   21.11.2005 20:20
HeX   Я просто вас обожаю!!! Я люблю весь ми...   21.11.2005 20:25
Altair   :wub: мы тоже всех любим :wub:   21.11.2005 20:27
volvo   HeX, ты уверен, что эта процедура будет выполнятьс...   21.11.2005 21:14
Altair   ну так обнуление массива слов надо бы сделать да и...   21.11.2005 21:18
volvo   Да не только. Тут еще одна засада: const i:intege...   21.11.2005 21:21
HeX   Да вроде все работает не барахлит но если можно ус...   21.11.2005 21:22
Altair   volvo, там же в коде: i:=1;   21.11.2005 21:48
volvo   :blink: А тогда на что тебе Typed Const вообще? Я ...   21.11.2005 21:59
Altair   ТИпизированная константа и есть переменная! ...   21.11.2005 22:25
HeX   Дак есть ошибка или ето миф :blink:   22.11.2005 17:48
volvo   HeX Ты на мой вопрос ответил? Нет. Почему же ты д...   22.11.2005 17:58


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.06.2025 1:05
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"