![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Dushka |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Учитель по информатике сказал что задачки простые, но для меня они темный лес. Может сможете мне помочь. Заранее благодарна .
1. Найти количество цифр кратных старшей цифре числа 2. В массиве 7*7 расставить строки в порядке возрастания количество четных чисел в их |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Первая:
var i,n,res:integer;
begin
writeln('Vvedite chislo');
readln(n);res:=0;
while (n>9) do n:=n div 10;
for i:=1 to 9 do if (i mod n=0) then inc(res);
writeln(res);
readln;
end.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Dushka |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо большое тебе Unconnected, осталась еще одна и я спасена
![]() |
Ozzя |
![]()
Сообщение
#4
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Учитель по информатике сказал что задачки простые, но для меня они темный лес. Может сможете мне помочь. Заранее благодарна . Принципиально - не БУДУ. Ровно до тех пор, пока не исправите ошибки. Касающиеся не программирования "что Вы!?". А чиста русккаго языку. Надеюсь, Вы Свой язык уважаете? ![]() |
Dushka |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Запятые, перед "что" и перед "сможете".
![]() |
Unconnected |
![]()
Сообщение
#6
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
№2:
const m=7;
var mas:array [1..m,1..m] of byte;
i,j:byte;
function getodd(st:byte):byte;
var i:byte;
begin
result:=0;
for i:=1 to m do if not(odd(mas[st,i])) then inc(result);
end;
Procedure swap(p1,p2:byte);
var i,buf:byte;
begin
for i:=1 to m do begin
buf:=mas[p1,i];
mas[p1,i]:=mas[p2,i];
mas[p2,i]:=buf;
end;
end;
Procedure output;
var i,j:byte;
begin
for i:=1 to m do begin
for j:=1 to m do write(mas[i,j],' ');
writeln;
end;
writeln;
end;
begin
randomize;
for i:=1 to m do for j:=1 to m do mas[i,j]:=random(50);
output;
for i:=1 to m-1 do
for j:=m-1 downto i do if getodd(j)>getodd(j+1) then swap(j,j+1);
output;
end.
Ozzя, да вроде не так всё запущено, бывает и хуже ![]() -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Ozzя |
![]()
Сообщение
#7
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Запятые, перед "что" и перед "сможете". Молодец. Еще тире после "они". Жду Вашего варианта решения проблемы. |
Dushka |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
ААААААааааааааааааааааааа, расцеловала бы, большое спасибо за помощь.
|
Ozzя |
![]()
Сообщение
#9
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Ozzя, да вроде не так всё запущено, бывает и хуже Знаю. ![]() Dushka Добрый дедушка Unconnected таки Вам помог. Не забудьте оному + поставить в рейтинг. ;) |
Dushka |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Не могу поставить, не нажимается. Почему?
|
Ozzя |
![]()
Сообщение
#11
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Не могу поставить, не нажимается. Почему? Постов - маловато будет. Я поставлю за Вас, ежели не возражаете. |
Гость |
![]()
Сообщение
#12
|
Гость ![]() |
Спасибо и вам
![]() |
Dushka |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Я снова вернулась
![]() ![]() ![]() Сообщение отредактировано: Dushka - |
Krjuger |
![]()
Сообщение
#14
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Хех еще 9 дней и был бы ровно год с того момента как вам ответили.Вы более конкретно скажите что не можете описать словами?уж вывод на экран вы должны понимать как производиться в процедуре output.Если в кратце,то функция getodd считает количество НЕчетных чисел в строке и выводит в качестве результата.Функция swap меняет местами 2 строки.
А дальше остновная программа.В цикле проверяем,если количество нечетных в текущей строке больше чем в следующей,то меняем местами. Сообщение отредактировано: Krjuger - |
Dushka |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Саму суть задач мне бы разжевать
![]() |
Krjuger |
![]()
Сообщение
#16
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Ну смотри у тебя есть массив 7х7 в нем в произвольном порядке записаны числа ты смотриш сколько у тебя в каждой строке четный чисел.Например в первой строке 1, во второй 4, в третьей 2, и тд.Ну и потом надо переставить строки так,чтобы вот эти самые числа были в порядке возрастания,тобиш в каждой следующей строке было как минимум не меньше,чем в предыдущей,тобиш первая строка останется на месте, а вторая и третья поменяются местами.Для примера,который я привел.
Сообщение отредактировано: Krjuger - |
Dushka |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Так, во вторую задачу вроде как вклинилась, а можно еще первую?
![]() |
IUnknown |
![]()
Сообщение
#18
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Ну, первую, для начала, надо правильно решить, прежде чем объяснять... Ибо то, что сейчас в посте №2 - оно, конечно, решает какую-то задачу, только не заданную в условии. Не верю я, что требовалось найти, сколько всего есть цифр, кратных старшей цифре числа. Наверняка задание стояло так: найти количество цифр числа, кратных его старшей цифре... Скажем, в 47854 их будет 3, а в 7889 - одна, если саму старшую цифру считать. Кстати, вот еще подвох: а считать ли?
Возможно, если бы это задание было решено верно - то продолжения бы не последовало... |
Unconnected |
![]()
Сообщение
#19
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Ну, если задание и правда такое, то вот, лучше поздно)
var oldest,c:char;
oldestv,r:byte;
begin
r:=1;
read(oldest);
oldestv:=ord(oldest)-ord('0');
repeat
read(c);
if ((ord(c)-ord('0')) mod oldestv=0) then inc(r); //добавить в условие "and (c<>#13)"
until (c=#13);
writeln(r);
readln;readln;//второй нужен, потому что при выходе из цикла первый сразу срабатывает..
end.
Сообщение отредактировано: Unconnected - -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
IUnknown |
![]()
Сообщение
#20
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Это неправильное решение. Введи 5735, и удивись, а с чего бы это 5-ка встречается 3 раза?
![]() А насчет двух ReadLn подряд - ну сколько же можно говорить? После цикла прочитай из буфера #10 еще одним Read-ом, и не надо будет магические несколько ReadLn-ов добавлять для ожидания... |
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 5:19 |