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

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

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

> Работа с текстом, (строки)
MikrON
сообщение 20.12.2004 1:49
Сообщение #1


Гость






Приветствую вас программисты 20 века=)
у меня большая проблема... я не знаю как сделать нескольк программ=/
Если вы нелень помогите студенту первого курса...
задачи следующие
1. ЗАДАН ТЕКСТ. НАПЕЧАТАТЬ СЛОВА ЭТОГО ТЕКСТА В ПОРЯДКЕ УВЕЛИЧЕНИЯ КОЛИЧЕСТВА СИМВОЛОВ В СЛОВАХ.
2. ЗАДАН ТЕКСТ. НАПЕЧАТАТЬ ТЕ СЛОВА, ПЕРЕД КОТОРЫМИ НАХОДИТЬСЯ СЛОВА С МЕНЬШИМ КОЛИЧЕСТВОМ БУКВ.
3. 'МЯТРИЦЯ' ЗАДАНА МАТРИЦА ЦЕЛЫХ ЧИСЕЛ. ВЫПОЛНИТЬ СОРТИРОВКУ ЭЛЕМЕНТОВ ГОАВНОЙ ДИАГОНАЛИ МАТРИЦЫ ПО ВОЗРАСТАНИЮ.
Из всех 12 индивидульных задания я сдедал 9 сам
:P Эти для меня ад ПОМОГИТЕ... :p2:
Отблагодарю и надеюсь тоже чем нибудь помогу... :yessss:
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
xds
сообщение 20.12.2004 7:59
Сообщение #2


N337
****

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

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


Задача 1:
Код

program Words1;

var
 s: String;
 Words: array[0..126] of Integer;
 Lens: array[0..126] of Integer;
 i, j, jm, n: Integer;
 f: Boolean;

procedure SwapInt(var a, b: Integer);
var
 t: Integer;
begin
 t := a;
 a := b;
 b := t;
end;

begin
 Write('s>');
 Readln(s);

 { Выделение слов }
 s := s + ' ';
 n := 0;
 f := False;
 for i := 1 to Length(s) do
   if (s[i] = ' ') or (s[i] = #9) then
     begin
       if f then
         begin
           Lens[n] := i - Words[n];
           Inc(n);
           f := False;
         end
     end
   else
     if not f then
       begin
         Words[n] := i;
         f := True;
       end;

 { Сортировка и вывод }
 for i := 0 to n - 1 do
   begin
     jm := i;
     for j := i + 1 to n - 1 do
       if Lens[j] < Lens[jm] then jm := j;
     SwapInt(Words[i], Words[jm]);
     SwapInt(Lens[i], Lens[jm]);
     Writeln(Copy(s, Words[i], Lens[i]));
   end;
end.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 20.12.2004 8:14
Сообщение #3


N337
****

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

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


Задача 2:
Код

program Words2;

var
 s: String;
 PrevWord, PrevLen,
 CurWord, CurLen: Integer;
 i: Integer;
 f: Boolean;

begin
 Write('s>');
 Readln(s);

 s := s + ' ';
 f := False;
 PrevLen := MaxInt;
 for i := 1 to Length(s) do
   if (s[i] = ' ') or (s[i] = #9) then
     begin
       if f then
         begin
           CurLen := i - CurWord;
           if PrevLen < CurLen then
             Writeln(Copy(s, CurWord, CurLen));
           PrevLen := CurLen;
           f := False;
         end
     end
   else
     if not f then
       begin
         PrevWord := CurWord;
         CurWord := i;
         f := True;
       end;
end.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 20.12.2004 8:27
Сообщение #4


N337
****

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

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


Задача 3:
Код

program DiagSort;

var
 a: array[1..100, 1..100] of Integer;
 n, i, j, jm, t: Integer;

procedure WriteMatrix;
var
 i, j: Integer;
begin
 for i := 1 to n do
   begin
     for j := 1 to n do
       Write(a[i, j]: 3);
     Writeln;
   end;
end;

begin
 Write('n>');
 Readln(n);

 { Генерация матрицы }
 Randomize;
 for i := 1 to n do
   for j := 1 to n do
     a[i, j] := -9 + Random(19);
 Writeln('Исходная матрица:');
 WriteMatrix;
 Writeln;

 { Сортировка главной диагонали }
 for i := 1 to n - 1 do
   begin
     jm := i;
     for j := i + 1 to n do
       if a[j, j] < a[jm, jm] then jm := j;
     t := a[i, i];
     a[i, i] := a[jm, jm];
     a[jm, jm] := t;
   end;

 { Вывод обработанной матрицы }
 Writeln('Матрица после сортировки главной диагонали:');
 WriteMatrix;
end.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MikrON
сообщение 20.12.2004 20:23
Сообщение #5


Гость






xds тебе конечно большое спасибо, но проблема нумер уан...
нельзя пользоваться процедурами...
проги даже с процедурами работают неправильно...
я же вроде попровил написать проги для 1 семестрами 1 курса=)
препод сказал что процедуры начнуться со второго семетра+)
если вам не лень помогите пжлста... :P
 К началу страницы 
+ Ответить 
xds
сообщение 21.12.2004 3:19
Сообщение #6


N337
****

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

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


а) я не обязан догадываться о Вашей учебной программе: утверждение "студент первого курса" не эквивалентно утверждению "человек, которому нельзя использовать процедуры в паскале";
б) приведите примеры неправильной работы программ.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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