Re: Pascal
Привет Gift,
Wednesday, December 1, 2004, 9:50:18 AM, вы писали:
G> 1) была у меня задача на двумерные массивы.
G> Вычеркнуть K строку и m столбец содержащие минимальное значение матрицы
я так понимаю ячейку с минимальным значением
G> A[1..N,1..M], записать в новую матрицу B[1..n-1,1..m-1].
G> А как сделать то же самое используя только массив A?
1. Находишь ячейку min значение - [x,y]
2. Все столбцы (x+1..N) смещаешь влево
3. Все строки (y+1..M) смещаешь вверх
G> 2) Напечатать все натуральные четырехзначные числа, в десятичной записи
G> которых нет одинаковых цифр.
for i:=1000 to 9999 do
if natur(i) then writeln(i); //функция вывода любая
//функция natur проверяет простое число
//или нет
G> А как ее переделать чтоб она любое число проверяла на четырехзначность?
Пусть x - проверяемое число
x0:=x div 1000;
if (1<=x0)and(x0<=9) then 4-хзачное
G> Как эту строку сделать через множества -
G> (r1<>r2)and(r1<>r3)and(r1<>r4)and(r2<>r3)and(r2<>r4)and(r3<>r4) then
G> writeln(a[i])?
Через множества пока не знаю, но могу предложить более интересное
решение, чем простое сравнение.
Путь существует r: array [1..4] of byte. Код:
b:=True;
for i:=1 to 3 do
for j:=i+1 to 4 do b:=b and (r[i]<>r[j]);
if b then подходит
else не подходит;
G> 3) Как выделять по очередно из текстового файла все слова и проверять стоит
G> ли у них на первой позиции 'А' или 'а'?
1. Создать множество раздилителей: [#32, '.', ',', .....]
2. Удалить все разделители с начала строки
3. Найти следующий разделитель i
4. Вырезать из строки подстроку s (слово) с 1 по i-1 символ
4,5. if s[1] in ['A', 'a'] then .....;
5. goto п.2
G> Как подсчитать количество предложений через множества?
Множества здесь нафиг нужны!
Наиболее простой метод - подсчитать количество комбинаций
1. Точка в конце строки
2. Точка, пробел, заглавный символ
Чтобы более крутой подбор написать надо долго мучиться
G> 4) Дан файл целых чисел. Выбрать те, которые имеют единицы в 3 и 6 двоичных
G> разрядах и сформировать из них последовательность элементов, упорядоченную
G> по возрастанию.
x: byte;
if ((x and $8)<>0) //$8 =0001000b
and ((x and $40)<>0) //$40=1000000b
then оно
else не оно
G> Записать ее в новый файл.
Это просто :)
Афоризм напоследок: Опыт отнюдь не мешает нам повторить прежнюю глупость, но
мешает получить от нее прежнее удовольствие!!!
2 декабря 2004 г. 19:31:38
Просто студент
Eugene mailto:rav***@o*****.ru
Номер выпуска : 3854
Возраст листа : 437 (дней)
Количество подписчиков : 512
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/273895
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog
http://subscribe.ru/ http://subscribe.ru/feedback