Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2009, 20:33   #11
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию

Цитата:
Stilet
Спасибо огромное!
Doublefaced вне форума Ответить с цитированием
Старый 05.08.2009, 14:59   #12
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию

Код:
program Project336;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Var A, b, c: String; L, S, d: Integer;
begin
WriteLn('Vvedite Chislo');
ReadLn(A);
L:=Length(A);
S:=Pos('E+', A);
If S<>0 Then
      Begin
      b:=Copy(A, 1, S-1);
      c:=Copy(A, S+2, L-S);
      End;
// теперь в строке "b" часть строки "A" до "E+"
// а в строке "c" часть строки "A" после "E+"
If (Length(c)<>0) And (c[1]<>'0') Then // если после "E+" не пусто и не ноль
      Begin
      S:=Pos('.', b);
      L:=Length(b);
      If S=0 Then // если в строке "b" нет точки
            Begin
            d:=0;
            While c<>'' Do
                  Begin
                  Case c[1] Of
                        '0':
                              d:=d*10;
                        '1':
                              d:=d*10+1;
                        '2':
                              d:=d*10+2;
                        '3':
                              d:=d*10+3;
                        '4':
                              d:=d*10+4;
                        '5':
                              d:=d*10+5;
                        '6':
                              d:=d*10+6;
                        '7':
                              d:=d*10+7;
                        '8':
                              d:=d*10+8;
                        '9':
                              d:=d*10+9;
                        End;
                  c:=Copy(c, 2, Length(c)-1);
                  End;
            A:=b;
            While d<>0 Do
                  Begin
                  A:=A+'0';
                  d:=d-1;
                  End;
            End
      Else  // если в строке "b" есть точка
            Begin
            d:=0;
            While c<>'' Do
                  Begin
                  Case c[1] Of
                        '0':
                              d:=d*10;
                        '1':
                              d:=d*10+1;
                        '2':
                              d:=d*10+2;
                        '3':
                              d:=d*10+3;
                        '4':
                              d:=d*10+4;
                        '5':
                              d:=d*10+5;
                        '6':
                              d:=d*10+6;
                        '7':
                              d:=d*10+7;
                        '8':
                              d:=d*10+8;
                        '9':
                              d:=d*10+9;
                        End;
                  c:=Copy(c, 2, Length(c)-1);
                  End;
            d:=d-L+S;
            A:=Copy(b, 1, S-1)+Copy(b, S+1, L-S);
            While d<>0 Do
                  Begin
                  A:=A+'0';
                  d:=d-1;
                  End;
            End;
      WriteLn(A);
      End
Else
      WriteLn('Error');
readln;
end.
Помогите препод забраковал этот вариант решения! Почему?

Последний раз редактировалось Stilet; 05.08.2009 в 15:21.
Doublefaced вне форума Ответить с цитированием
Старый 05.08.2009, 15:27   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Почему?
А сам препод что обьясняет?

Хотя я бы тоже двойку поставил - уж больно много ненужного тут..
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки на Си Карол Помощь студентам 6 14.02.2010 12:02
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45