Работа с текстом, (строки) |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работа с текстом, (строки) |
MikrON |
Сообщение
#1
|
Гость |
Приветствую вас программисты 20 века=)
у меня большая проблема... я не знаю как сделать нескольк программ=/ Если вы нелень помогите студенту первого курса... задачи следующие 1. ЗАДАН ТЕКСТ. НАПЕЧАТАТЬ СЛОВА ЭТОГО ТЕКСТА В ПОРЯДКЕ УВЕЛИЧЕНИЯ КОЛИЧЕСТВА СИМВОЛОВ В СЛОВАХ. 2. ЗАДАН ТЕКСТ. НАПЕЧАТАТЬ ТЕ СЛОВА, ПЕРЕД КОТОРЫМИ НАХОДИТЬСЯ СЛОВА С МЕНЬШИМ КОЛИЧЕСТВОМ БУКВ. 3. 'МЯТРИЦЯ' ЗАДАНА МАТРИЦА ЦЕЛЫХ ЧИСЕЛ. ВЫПОЛНИТЬ СОРТИРОВКУ ЭЛЕМЕНТОВ ГОАВНОЙ ДИАГОНАЛИ МАТРИЦЫ ПО ВОЗРАСТАНИЮ. Из всех 12 индивидульных задания я сдедал 9 сам :P Эти для меня ад ПОМОГИТЕ... :p2: Отблагодарю и надеюсь тоже чем нибудь помогу... :yessss: |
xds |
Сообщение
#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.
|
xds |
Сообщение
#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.
|
xds |
Сообщение
#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.
|
MikrON |
Сообщение
#5
|
Гость |
xds тебе конечно большое спасибо, но проблема нумер уан...
нельзя пользоваться процедурами... проги даже с процедурами работают неправильно... я же вроде попровил написать проги для 1 семестрами 1 курса=) препод сказал что процедуры начнуться со второго семетра+) если вам не лень помогите пжлста... :P |
xds |
Сообщение
#6
|
N337 Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: 26 |
а) я не обязан догадываться о Вашей учебной программе: утверждение "студент первого курса" не эквивалентно утверждению "человек, которому нельзя использовать процедуры в паскале";
б) приведите примеры неправильной работы программ. -------------------- The idiots are winning.
|
Текстовая версия | 23.12.2024 19:42 |