![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
Данил |
![]()
Сообщение
#1
|
Гость ![]() |
1.По теме "циклы": - напишите программу, печатающую столбик строк такого вида:
1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 9 я прочитал начиная с первого все уроки и честно сам делал все задания, но не понимаю как эту прогу написать, объясните алгоритм, пожалуйста.... ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Ты прав, задача очень трудная, вот самое простое решение :
$00401030: push %ebp -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
эээ млин если шутите, то несмешно, я только начинаю паскаль.... Эту программу нужно напсать на паскале а не на асемблере...
|
Гость |
![]()
Сообщение
#4
|
Гость ![]() |
ну блин это же наверное несложно, подскажите
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
ладно не кипятись
![]() uses crt; диаганальный элемент - элемент и индексов i,i то есть 1,1; 2,2; 3,3; ... итд ;) -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#6
|
Гость ![]() |
klem4 прости я незнал в какой раздел написать, и решил что пусть модератор удалит неправильный вариант...
спасибо большое.... |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
странно, в этом варианте программы я так понимаю ты используешь двумерный массив, а судя по "Уроки от Дмитриева",которые выложены на этом сайте все должно быть куда проще, т.к. до этой задаче о массивах вообще не упоменалось, только FOR...
|
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
for i := 1 to n do begin Сообщение отредактировано: volvo - 3.11.2006 0:26 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
KENNY |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
воистину все гениальное просто, большое спасибо.. очень полезный у вас портал.... респект
![]() вот кстати зарегестрировался... ![]() Сообщение отредактировано: KENNY - 14.12.2005 21:03 |
Altair |
![]()
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата Ты прав, задача очень трудная, вот самое простое решение : и где это скомпилиться? ![]() ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
KENNY |
![]()
Сообщение
#11
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
Вот еще вопрос, нужно посчитать сумму элементов массива расположенных между первым и последнм нулевым эдементами. Все это в однородном массиве, подскажите какова идея решения этой задачи?
|
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Так... это... Идешь с конца массива ДО того как встретишь нулевой элемент, запоминаешь его индекс(это будет последний нулевой)... Потом идешь с начала до первого нулевого (оба эти действия - на цикл While)...
Ну и напоследок - обычным For-ом перебираешь все, что находится между двумя найденными индексами, суммируя при этом элементы... |
KENNY |
![]()
Сообщение
#13
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
program maasiv1_var3; тута я пытался: сначала найти произведение эл-ов массива с четными номерами, потом сумму эл-ов между первыми последним нулевыми элементами, ну и в конце упорядочить по возростанию... конечно же ничего не получается, ну почему я такой корявый??? ![]() ![]() ![]() Во, тама кое что изменил, теперь сортирует, а вот произведение неправильно делает.... Сообщение отредактировано: volvo - 3.11.2006 0:27 |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Ну, допустим, произведение она как раз правильно считает... Неправильно вычисляется сумма... Смотри, почему...
Вот твой код: for j:=n downto 1 do begin Почему Else в обоих случаях не нужен? Потому, что тебе нужно найти позиции нулевых элементов, ненулевые ты должен просто игнорировать, а ты не игнорируешь, а обращаешь на них внимание... |
KENNY |
![]()
Сообщение
#15
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
VOLVO что бы я без тебя делал!!! Спасибо тебе огромное, тока есть еще один вопрос, как сделать в сортировке так чтоб он нули в начало сувал? а то так как я написал, нули остаются на своих места, хотя остальное нормально выстраивается....
Блин и произведение он неправильно считает... я вот щас вводил элементы: 0 1 3 4 0 2 6 7 8 9 он вывел что произведение =248 а на самом деле 504.... Сообщение отредактировано: KENNY - 16.12.2005 1:18 |
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Ну, так пользуйся любым из методов сортировки... Например, обычный "пузырек":
for i := 1 to n do А вообще, загляни сюда, чтобы не изобретать велосипед: FAQ: Методы сортировок Кстати, произведение считается правильно, только вспомни, какой диапазон значений у типа Byte? ![]() |
KENNY |
![]()
Сообщение
#17
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
точто... байт....
![]() P.S. мне всегда нравились машины вольво ![]() |
KENNY |
![]()
Сообщение
#18
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
ч одномерным массивом вроде немного разобрался, теперь двумерный массив... в уроках на вашем сервере о них ничего не объясняется, я правда пытался понять чтонибудь из Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи > FAQ там есть про матрицы, но тоже трудно понять.. мне напимер нужно упорядочить строки целочисленной матрицы по возрастанию количества одинаковых элементов в каждой строчке, причем желательно это сделать в виде процедуры.. если не очень трудно не могли бы объяснить как?
Сообщение отредактировано: KENNY - 17.12.2005 21:49 |
klem4 |
![]()
Сообщение
#19
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
А что ты хочешь .. чтобы тебе полную программу выложили ?
Для начала сообрази как подсчитать колво одинковыйх элементов в одномерном массиве, потом на основе этого алгоритмя реализуешь ф-ю, которая будет считать кол-во одинаковых элементов в i-ой строке, после этого пойдешь в наш FAQ и там выберешь себе понравившийся метод сортировки и дело в шляпе. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
KENNY |
![]()
Сообщение
#20
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Данил Репутация: ![]() ![]() ![]() |
Ну можно и полностью программу..... сейчас буду соображать...
делать проверку для каждого элемента и искать равные ему? больше ничего не могу придумать.. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 21:16 |