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

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

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

 
 Ответить  Открыть новую тему 
> Работа с текстом, (строки)
сообщение
Сообщение #1


Гость






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


Гость






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


N337
****

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

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


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


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

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

 





- Текстовая версия 16.05.2024 7:00
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name