Помощь - Поиск - Пользователи - Календарь
Полная версия: решение задач с помощью цикла while
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Yaroslav
1)найти количество цифр числа с помощью цикла while!!!
2)найти вторую цифру числа с помощью цикла while!!!
3)найти среднюю цифру числа если в числе нечётное количество цифр с помощью цикла while!!!
4)каких цифр в числе больше?единиц или нулей?с помощью цикла while!!!
5)получить число записанное теми же цифрами в обратном порядке с помощью цикла while!!!
6)выяснить является ли число палиндромом с помощью цикла while!!!
7)найти первую цифру числа с помощью цикла while!!!

Внимательнее смотри на правила.
Цитата
1. Заголовок или название темы должно быть  информативным и понятным другим посетителям форума.
volvo
1.
Код

var
 n, count: integer;
begin
 write('n = '); readln(n);
 count := 0;
 while n > 0 do
   begin
     inc(count);
     n := n div 10;
   end;
 writeln('count = ', count)
end.
ShadowWatcher
3).

Код

Function GetCount(n:Integer):Integer;
var
count: integer;
begin
count := 0;
while n > 0 do
  begin
    inc(count);
    n := n div 10;
  end;
end;

Var
 i,count:Integer;
Begin
write('n = '); readln(n);
 i:=1;
 count := GetCount(n) Shr 1;
 While (i < count)
 Begin
   n := n Div 10;
   Inc(i)
 End;
 WriteLn(n Mod 10)
End.


smile.gif
volvo
ShadowWatcher
angry.gif Проверяй, пожалуйста, программы перед тем, как запостить их сюда! В следующий раз накажу...

Yaroslav
Рабочий код для 3-ей программы:
Код

Function GetCount(n:Integer):Integer;
 Var count: Integer;
 Begin
   count := 0;
   While n > 0 Do
     Begin
       Inc(count);
       n := n div 10
     End;
   GetCount := count
 End;

Var
 i, n, count:Integer;
Begin
 Write('n = '); ReadLn(n);

 i := 0;
 count := GetCount(n) Shr 1;
 While (i < count) Do
   Begin
     n := n Div 10;
     Inc(i)
   End;
 WriteLn(n Mod 10)
End.
mithquessir
4.
Код

var
  a1,a0,count: integer;
  k,n:longint;
begin
    ReadLn(n);
    k := n;
    while k > 0 do
    begin
         inc(count);
         k := k div 10;
    end;
    while count > 0 do
    begin
         if (n mod 10) = 0 then
         inc(a0)
         else
         if (n mod 10) = 1 then
         inc(a1);
         n := n div 10;
         dec(count);
     end;
     if a1 > a0 then WriteLn('1 bolshe')
     else
     if a1 < a0 then WriteLn('0 bolshe')
     else WriteLn('porovnu');
end.
mithquessir
2.
Код

var
  a2,count:integer;
  n,k:longint;
begin
    ReadLn(n);
    k := n;
    while k > 0 do
    begin
         inc(count);
         k := k div 10;
    end;
    while count > 0 do
    begin
         if count = 2 then
         a2 := n mod 10;
         n := n div 10;
         dec(count);
    end;
    WriteLn(a2);
end.
mithquessir
7.
Аналогично 2, только меняй
Код

...if count = 2 then...

на
Код

...if count = 1 then...
.
Флогримм
5
PASCAL CODE
var a:longint;
    i:integer;
    s,new:string;
begin
write('a> ');
readln(a);
str(a,s);
writeln(s);
i:=length(s);
while i>0 do
      begin
      new:=new+s[i];
      dec(i);
      end;
if a<high(longint) then val(new,a,i);
writeln('result> ',a);
end.
Флогримм
6
PASCAL CODE
const flag:boolean=true;
var s:string;
    i:byte;
begin
write('s> ');
readln(s);
i:=0;
while i<=(length(s) div 2)+1 do
      begin
      inc(i);
      flag:=s[i]<>s[length(s)-i+1];
      end;
writeln(flag);
end.
volvo
Флогримм
Как же мне нравится, когда что-то с чем-то сравнивают, и результат пишут в логическую переменную ... rolleyes.gif

Например:
Код
if s[i]<>s[length(s)-i+1] then flag:=false;
Jahnerus
volvo
Да а ещё бывает и такое blink.gif
Код
.......
if b=true then ....

Это всё из отряда тафталогии!
Флогримм
ой! бывают у меня оазные глюки... считай, что очепятка smile.gif
вопчем исправил я
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.