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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2011, 10:25   #11
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Точно не знаю, но предполагаю, что определяющая цифра - это первая отличная от нуля.
Я вывел индекс(номер) этой цифры в числе.
Помог? Будь человеком - жми на весы слева!
Jaguar83 вне форума Ответить с цитированием
Старый 28.06.2011, 10:29   #12
zzz6
Пользователь
 
Регистрация: 10.06.2011
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Jaguar83 Посмотреть сообщение
Точно не знаю, но предполагаю, что определяющая цифра - это первая отличная от нуля.
Я вывел индекс(номер) этой цифры в числе.
спросил у учителя... надо сделать так как он сказал... 435455 чтоб выводило 4

ну всё равно спасибо за помощь.. почти вся задача решена!
zzz6 вне форума Ответить с цитированием
Старый 28.06.2011, 10:31   #13
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Код:
Writeln('Opredelyaushaya cifra ',str[1]);
Помог? Будь человеком - жми на весы слева!
Jaguar83 вне форума Ответить с цитированием
Старый 28.06.2011, 10:34   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да нету никакой определяющей цифры
Цитата:
перечитайте задание. Программа, определяющая (программа определяет) первую цифру числа. Так что цифра не определяющая, а просто первая)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.06.2011, 10:36   #15
zzz6
Пользователь
 
Регистрация: 10.06.2011
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Jaguar83 Посмотреть сообщение
Код:
Writeln('Opredelyaushaya cifra ',str[1]);

вот работает... еще раз ОГРОМНОЕ СПАСИБО......
там оставил отзыв
zzz6 вне форума Ответить с цитированием
Старый 28.06.2011, 10:39   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

решение через перевод в строку не совсем "честное" ...

думаю, что так получше будет. Разбирайтесь:
Код:
{
Дано натуральное число n. Составить программу, подсчитывающую количество
цифр числа n, сумму его цифр и определяющую его первую цифру.
}

var
  N: LongInt;
  CountN, SumN, OneDigit: integer;
begin
  WriteLn('Введите натурально число N:');
  Readln(N);

  if N < 0 then begin
    WriteLn('натуральное - это положительное! А Вы ввели отрицательное! Прощайте...');
    readln;
    Halt(1);
  end;
  CountN := 0;
  SumN := 0;

     { суммуруем число N по цифрам (в обратном порядке) }
  repeat
    OneDigit := N mod 10;
    N := N div 10;
    SumN := SumN + OneDigit;
    inc(CountN);
  until N = 0;

  {вывод результатов}
  WriteLn('в числе ', CountN, ' цифр. Сумма цифр = ', SumN, ' Первая цифра ', OneDigit);

  readln;

end.

Последний раз редактировалось Serge_Bliznykov; 28.06.2011 в 10:41.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.06.2011, 10:58   #17
zzz6
Пользователь
 
Регистрация: 10.06.2011
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
решение через перевод в строку не совсем "честное" ...

думаю, что так получше будет. Разбирайтесь:
Код:
{
Дано натуральное число n. Составить программу, подсчитывающую количество
цифр числа n, сумму его цифр и определяющую его первую цифру.
}

var
  N: LongInt;
  CountN, SumN, OneDigit: integer;
begin
  WriteLn('Введите натурально число N:');
  Readln(N);

  if N < 0 then begin
    WriteLn('натуральное - это положительное! А Вы ввели отрицательное! Прощайте...');
    readln;
    Halt(1);
  end;
  CountN := 0;
  SumN := 0;

     { суммуруем число N по цифрам (в обратном порядке) }
  repeat
    OneDigit := N mod 10;
    N := N div 10;
    SumN := SumN + OneDigit;
    inc(CountN);
  until N = 0;

  {вывод результатов}
  WriteLn('в числе ', CountN, ' цифр. Сумма цифр = ', SumN, ' Первая цифра ', OneDigit);

  readln;

end.
Вот и тебе спасибо....
zzz6 вне форума Ответить с цитированием
Старый 28.06.2011, 11:23   #18
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
решение через перевод в строку не совсем "честное" ...
Это еще почему?! о_О
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 28.06.2011, 16:41   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Это еще почему?! о_О
потому что может не понравиться многим преподавателям,
т.к. работа в цикле с различными разрядами числа подменяется работой с массивом символов (напомню, что string - это array of char)
это же в первую очередь учебная задача.
это раз.

Второе. приведённое решение не будет работать в Pascal (правда, в Pascal ABC, будет...). Согласен, в данном случае это небольшая проблема - т.к. несложно написать аналогичный код и на обычном паскаль (фунции str val ord никто не отменял).

в реальной практике можно смело использовать любой удобный способ.
А вот для учебных задач, имхо, подобный подход не очень корректен.

впрочем, я же ничего категорически не утверждаю. Устраивает TC и его преподавателя - можно использовать любой способ. Хоть с вызовом скрипта на VBA - лишь бы работало и ответ правильный давало!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано натуральное число Joker<777> Паскаль, Turbo Pascal, PascalABC.NET 0 10.10.2010 18:24
Дано натуральное число Joker<777> Паскаль, Turbo Pascal, PascalABC.NET 2 09.09.2010 15:32
дано натуральное число n. solisoul Помощь студентам 1 19.06.2010 22:48
дано натуральное число n. solisoul Паскаль, Turbo Pascal, PascalABC.NET 1 19.06.2010 22:42
Дано натуральное число RAVEN23 Помощь студентам 5 05.06.2009 15:23