![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
azi |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет! Признаюсь сразу - с Паскалем я не в ладах, а для вас это раз плюнуть
![]() Помогите, кому не лень. Заранее благодарен 1.Два отрезка на плоскости заданы координатами своих концов. Определить, имеют ли эти отрезки общие точки. Замечание. Необходимо рассмотреть различные случаи взаимной ориентации отрезков: на одной прямой, на параллельных или пересекающихся прямых. 2.Просуммировать элементы матрицы A(n,n) по каждой из линий, параллельных главной диагонали. Напечатать полученные суммы.(читал в FAQ'е - не выходит...) 3.Натуральное число в p-ичной системе счисления задано своими цифрами, хранящимися в массиве K(n). Проверить корректность такого представления и перевести число в q-ичную систему (возможно, число слишком велико, чтобы получить его внутреннее представление; кроме того, p 10, q 10). и может быть ещё одну:Заданный список русских фамилий (вместе с именами и отчествами) упорядочить по алфавиту. Проверить (и исправить, если нужно) написание собственных имен с прописных букв: Заданный список русских фамилий (вместе с именами и отчествами) упорядочить по алфавиту. Проверить (и исправить, если нужно) написание собственных имен с прописных букв. Хотя бы намекните как делать, плиз-з-з-з!!!! |
Ozzя |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
azi |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
[quote=Ozzя,18.05.05 7:18]
Спасибо вам огромное. Не могли бы с остальными помочь? |
Ozzя |
![]()
Сообщение
#4
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
№ 4
Вот похожая программка: Сортирует список студентов по ФИО. Лишнее можно убрать. Проверка фамилии If not Upcase(Imia[1]) then Upcase(Imia[1]); имени: следующий символ после пробела и опять If not Upcase(Imia[k]) then Upcase(Imia[k]); Функция upcase (с поддержкой русского языка) есть в книге Фаронова Сообщение отредактировано: Ozzя - 18.05.2005 10:37 |
azi |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо!
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(Ozzя @ 18.05.05 10:35) Функция upcase (с поддержкой русского языка) есть в книге Фаронова :p2: Здесь тоже есть... |
azi |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Благодарю за помощь. 1-ую задачу решил (не решить после этого было тяжело<_< ) А есть ли какие-то варианты насчёт матриц. FAQ не помогает!!! там с индексами матрицы какая-то путаница. Помогите, пожалуйста.
|
azi |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
и ещё пожалуйста подскажите - как сортировать по алфавиту (есть ли в Паскале встроенная сортировка?), т.е. по какому критерию выбирать следующее значение - это же не числа больше-меньше?..
![]() |
Ozzя |
![]()
Сообщение
#9
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(azi @ 18.05.05 12:50) и ещё пожалуйста подскажите - как сортировать по алфавиту (есть ли в Паскале встроенная сортировка?), т.е. по какому критерию выбирать следующее значение - это же не числа больше-меньше?.. ![]() для строк и символов допустимы операции сравнения < > и т.д, так как сравнение идет по коду символа, и можно смело писать: if 'a' < 'b' ... |
azi |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
ни фига себе! никогда бы не подумал...
![]() |
Ozzя |
![]()
Сообщение
#11
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Операции отношения =, о, >, <, >=, <= выполняются над двумя строками посимвольно, слева направо с учетом внутренней кодировки символов (см. табл.4.1 и прил.2). Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются значением СНR(0) . Следующие операции отношения дадут значение TRUE: '''' < ' . ' 'А' > '1' 'Turbo' <' Turbo Pascal' 'Паскаль' >'Turbo Pascal' |
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Цитата(azi @ 18.05.05 12:32) FAQ не помогает!!! там с индексами матрицы какая-то путаница. А вот с этого места я попрошу поподробнее. В каких именно местах в FAQ-е есть путаница с индексами матрицы? Я все-таки проверяю КАЖДУЮ программу на нескольких примерах перед занесением ее в FAQ... Так что я жду ссылку... |
azi |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
ну не то, чтобы путаница...
Сумма элементов, стоящих выше главной диагонали: CODEs:=0; for i:=1 to n do for j:=i to n do s:=s+a[i,j]; Сумма элементов, стоящих ниже побочной диагонали: CODEs:=0; for i:=1 to n do for i:=n-i+1 to n do s:=s+a[i,j]; тут что-то не то со счётчиками - суммируются не те элементы... может быть надо to n-i?!! Я же говорю, что в Паскале не совсем соображаю, но тут явно не получается. И ещё: как заносить суммы по линиям, параллельным диагонали в отдельные массивы? |
Бродяжник |
![]()
Сообщение
#14
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Со счетчиками все как будто в порядке, если не считать, что есть опечатка в строке
Код for i:=n-i+1 to n do s:=s+a[i,j]; Вместо "for i" должно быть "for j". Но это, видимо, опечатка Azi. Возможно, проблема в ориентации матрицы? Данные циклы предполагают, чтоа) первый индекс - это номер строки, а второй - номер столбца, и что б) выражение "элементы выше главной диагонали" надо читать, как "элементы выше главной диагонали и элементы самой главной диагонали". Т.е. Цитата 1111 1110 1100 1000 Если же имелось в виду Цитата 1110 1100 1000 0000 т.е. НЕ ВКЛЮЧАЯ саму диагональ, тогда надо циклы переделывать. А ввобще пользуйтесь старым добрым способом: Код s:=0; for i:=1 to n do for j:=i to n do begin s:=s+a[i,j]; writeln('i=',i,' j=',j,' s=',s,' a=',a[i,j]); end; и сразу увидите, какие элементы суммируются. Глядишь, и разберетесь. Удачи! |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
azi,
"учите матчасть" (С) Проверка. Матрица задана так Цитата 11 12 13 21 22 23 31 32 33 1. Выше главной диагонали (включая главную диагональ !!!): i = 1; j = 1, 2, 3 i = 2; j = 1, 2 i = 3; j = 3 Все работает 2. Ниже побочной диагонали (включая и саму диагональ !!!) i = 1; j = 3 i = 2; j = 2, 3 i = 3; j = 1, 2, 3 Тоже не вижу ошибки. Я надеюсь не нужно напоминать, что есть главная диагональ, а что - побочная? Так что давайте оставим FAQ в покое. Еще раз повторяю - ничего просто так туда не добавляется... |
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Цитата(azi @ 17.05.05 19:14) 3.Натуральное число в p-ичной системе счисления задано своими цифрами, хранящимися в массиве K(n). Проверить корректность такого представления и перевести число в q-ичную систему (возможно, число слишком велико, чтобы получить его внутреннее представление; кроме того, p<10, q<10). Все просто... вначале проверяем корректность представления: i := 1; isCorrect := true; далее, с помощью процедур из FAQ: Общие вопросы по математике преобразуем число из p-ичной системы в q-ичную: var Ну, а проверить не слишком ли велико число, я предоставляю тебе... |
azi |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Volvo, спасибо тебе огромное. Буду за тебя молиться!!! :D
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 14:49 |