IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> разбиение числа
medved777
сообщение 7.02.2007 10:04
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Женский

Репутация: -  0  +


Пожалуйста, помогите исправить программу. Очень прошу.
Условия задачи

Дано число. Удалить минимальную цифру


 program pract7_2;
const nm=100;
type tmasm=array[1..nm] of longint;
var i,col,k,n:byte; ch,p:longint; z,kol:tmasm;m:real;
procedure razb(ch:longint;var k:byte;var z:tmasm);
begin
k:=0;
while ch<>0 do begin
inc(k);
z[k]:=ch mod 10;
ch:=ch div 10;end;
end;
function min(n:byte;kol:tmasm):real;
var i:byte;mn,m:real;
begin
mn:=kol[1];
for i:=1 to n do
if kol[i]<mn then mn:=kol[i];
if kol[i]=mn then min:=mn;
m:=min(n,kol);
end;
begin
writeln;
writeln('vvedite chiclo');
read(ch);
razb(ch,col,z);
k:=0;
z[i]:=z[n-i+1];
for i:=1 to col do
if z[i]<>m then begin inc(k);z[k]:=z[i];end;
p:=z[k];
case z[i] of
0..9:p:=p*10+z[i];
10..99:p:=p*100+z[i];
end;
writeln('preobrazovanoe chiclo:');
writeln(p);
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
мисс_граффити
сообщение 7.02.2007 10:24
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


function min(n:byte;kol:tmasm):real;
var i:byte;mn,m:real;
begin
mn:=kol[1];
for i:=1 to n do
if kol[i]<mn then mn:=kol[i];
if kol[i]=mn then min:=mn; {вот это выполняется не в цикле. так и задумано?}
m:=min(n,kol);
end;


begin
writeln;
writeln('vvedite chiclo');
read(ch);
razb(ch,col,z);
k:=0;
z[i]:=z[n-i+1]; {что такое i? типа тут должен быть цикл? и вообще, что эта строка должна делать?}
for i:=1 to col do
if z[i]<>m then {что такое m и чему оно равно? на real может дать "не равно", даже если тебе кажется, что "равно"}
begin inc(k);z[k]:=z[i];end;
p:=z[k];
case z[i] of {опять же - что за i?}
0..9:p:=p*10+z[i];
10..99:p:=p*100+z[i];
end;
writeln('preobrazovanoe chiclo:');
writeln(p);
end.

разберись с границами циклов...
+если не сложно, поясни, что ты делаешь...
по-моему, много лишнего - если задача именно такая, как здесь написано.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:27
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"