Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 13.12.2012, 05:12   #11 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Владимир, программка немного неверно работает. Допустим я ввожу строку: 10с11а12g и он мне ответ выдает 11, а должно быть 9. И даже допустим введем строку: 10с11f он ответ выдает 10. Если не сложно исправьте пожалуйста.
hamchuk250894 вне форума   Ответить с цитированием

Старый 13.12.2012, 05:12
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Лучше сразу прояснить ситуацию прочитав схожие посты

Строки в Паскаль
Паскаль, строки
Строки. Паскаль
Паскаль. Строки
Строки, Паскаль
Паскаль, символы и строки

Старый 13.12.2012, 09:36   #12 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от hamchuk250894 Посмотреть сообщение
Владимир, программка немного неверно работает. Допустим я ввожу строку: 10с11а12g и он мне ответ выдает 11, а должно быть 9. И даже допустим введем строку: 10с11f он ответ выдает 10. Если не сложно исправьте пожалуйста.
Виноват. Даже не понимаю, как ошибка проскочила: ведь тестировал же... Значит, так:
Пятую строку снизу

if Max=A[i] then b:=false;

исправьте на

if Max=A[j] then b:=false;
Vladimir_S вне форума   Ответить с цитированием
Старый 13.12.2012, 12:17   #13 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое.
hamchuk250894 вне форума   Ответить с цитированием
Старый 14.12.2012, 09:51   #14 (permalink)
Student
Member
 
Регистрация: 14.12.2012
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А что если нужно определить не число, а цифру?
Student вне форума   Ответить с цитированием
Старый 14.12.2012, 10:19   #15 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Student Посмотреть сообщение
А что если нужно определить не число, а цифру?
Подробнее, пожалуйста. Количество цифр в числах в программе не регламентируется, числа могут быть и однозначные, если Вы об этом.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 14.12.2012, 10:22   #16 (permalink)
Student
Member
 
Регистрация: 14.12.2012
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

наибольшее число, не входящее в строку от 0 до 9
Student вне форума   Ответить с цитированием
Старый 14.12.2012, 11:08   #17 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Student Посмотреть сообщение
наибольшее число, не входящее в строку от 0 до 9
Код:
Var
 S:String;
 A:Array [1..255] of Byte;
 i,j,N:Byte;
 Code:Integer;
 Max:Byte;
 b:boolean;

Begin
 Writeln('Enter the string:');
 Readln(S);
 N:=0;
 i:=0;
 Repeat
  repeat
   Inc(i);
  until ((Ord(S[i])>47) and (Ord(S[i])<58)) or (i>=Length(S));
  If i<=Length(S) then
   begin
    Inc(N);
    Val(S[i],A[N],Code);
   end;
 Until i>=Length(S);
 Max:=A[1];
 For i:=2 to N do
  If A[i]>Max then Max:=A[i];
 Repeat
  b:=true;
  Dec(Max);
  for j:=1 to N do
   if Max=A[j] then b:=false;
 Until b or (Max=0);
 If b then
  Writeln('Result: ',Max)
 else
  Writeln('No such figure');
 Readln;
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 14.12.2012, 11:56   #18 (permalink)
Student
Member
 
Регистрация: 14.12.2012
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Оуу Владимир, спасибо!! не ожидал такого быстрого ответа
Student вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 17:31.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.