2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
1

Найти все числа, у которых старшая значащая десятичная цифра есть 9

14.11.2008, 19:02. Показов 4796. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданном вещественном массиве найти все числа,у которых старшая значащая дестичная цифра есть 9(числа сильно различаются по величине).
\например число 892 тут есть цифра 9 значит выводим его\
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2008, 19:02
Ответы с готовыми решениями:

Найти все числа, у которых старшая значащая десятичная цифра равна 9
// в заданом вещественом массиве найти все числа, // у которых старшая значищая десятичная цифра...

В массиве найти числа, у которых старшая значащая десятичная цифра равна 9
в заданом вещественом массиве найти все числа, у которых старшая значищая десятичная цифра есть9...

В заданном вещественном массиве A (n) найти все числа, в которых старше значимая десятичная цифра 9
В заданном вещественном массиве A (n) найти все числа, в которых старше значимая десятичная цифра 9...

Найти все натуральные числа, десятичная запись которых есть строго возрастающая последовательность
Найти все натуральные числа, не превосходящие заданного n, десятичная запись которых есть строго...

16
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
14.11.2008, 19:25 2
Сам пробовал?
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
14.11.2008, 20:35 3
Вообще-то старшая (имеется в виду разряд) цифра, это первая цифра в целой части числа.
0
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
14.11.2008, 20:44 4
может в его представлении имеется ввиду...типа....
8.9200000000000000-0000
как то так, и получается что первая значащая в десятичной части - 9...не уверен, но похоже на правду.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
14.11.2008, 21:05 5
Я бы решал примерно так.
Код
for i:=1 to n do
   begin
    str(a[i],s);
    if ((s[1]<>'0')and(s[1]<>'-')and(s[1]='9')) 
    or ((s[1]='-')and(s[2]='9')) then write(a[i]:5:2);
  end;
1
2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
19.12.2008, 14:30  [ТС] 6
В заданном вещественном массиве найти все числа,у которых старшая значащая дестичная цифра есть 9(числа сильно различаются по величине).

доработайте код! никак не получается!

Код
Uses crt;
 Var n,i:byte;
     s:array [byte] of real;
     a:array [byte] of real;
 begin
  Randomize;
  clrscr;
  write('Vvedite kol-vo elementov massiva:');
  readln(n);
  writeln('Masiv:');
 for i:=1 to n do
  begin
   str(a[i],s);
   if ((s[1]<>'0')and(s[1]<>'-')ans(s[1]='9'))
   or((s[1]='-')and(s[2]='9'))then write(a[i]:5:2);
  end;
 end.
0
Of Wolf and Man
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
19.12.2008, 15:03 7
И это у тебя работает ?
у тебя это сразу ошибку выдаст !
Попробуй написать нормальный код, а не присваивать строковое значение вещественной переменной.

Добавлено через 3 минуты 26 секунд
К тому же что значит :
Цитата Сообщение от Ranger50 Посмотреть сообщение
старшая значащая дестичная цифра
Это имеется ввиду старший разряд числа ? или что ?
0
2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
19.12.2008, 15:10  [ТС] 8
короче если в цисле есть цифра 9 то выводим это число

Добавлено через 2 минуты 7 секунд
а как дальше делать незнаю!да тут никаких строк ненадо,массив и только!
0
Of Wolf and Man
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
19.12.2008, 15:12 9
Код
var i:integer;
i:=9;
writeln(i);
если хочешь большего, напиши задание яснее.

Добавлено через 31 секунду
а нафига ты использовал перевод в строку ?

Добавлено через 58 секунд
ЗЫЖ - где у тебя "СТАРШАЯ значащая цифра" ?

Добавлено через 38 секунд
по первому посту, я так понял что в старшем разряде .
По второму - что в любом месте.
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
19.12.2008, 15:17 10
может что-то типа такого должно быть?:
Код
Var s : string;
...
for i:=1 to n do
begin
str(a[i],s);
if (s[1]='9') or ((s[1]='-') and (s[2]='9')) then writeln(a[i]:5:2);
...
0
2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
19.12.2008, 15:21  [ТС] 11
ну как я написал такое задание и есть!тут надо сгенерировать числа......и если например в числе 23495456 есть цифра 9 то это число вывести!а если 34857834 то нет

Добавлено через 36 секунд
я вроде так понял!
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.12.2008, 15:42 12
Если числа вещественные, то сначала рассматривается целая часть числа, если оно >1. Известным способом число разлагается на цифры и смотрят первую. Если это 9, выводим число. Если число <1, то его умножают на 10 до тех пор, пока оно не станет >1. Опять смотрят целую часть, которая сейчас состоит из 1 цифры и нет проблем. Для сведения обрабатывать целую часть числа надо в виде abs(trunc(a[i]);
0
2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
19.12.2008, 15:47  [ТС] 13
млин помогите..........
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.12.2008, 18:02 14
Чего, млин, не помогают? Вот написал то, о чем говорил, но тоже есть недостатки. Дело в том, что если первая 9, то целая часть можнт быть не более 4 цифр, т.к. и trunc и round преобразуют в integer, а с ним не разгонишся. Может еще кто что придумает.
Код
Uses crt;
function Sept(x:real):boolean;
var n,m,d:integer;
    r:real;
begin
if x>1 then
   begin
     n:=abs(trunc(x));
     while n>0 do
       begin
         m:=n mod 10;
         n:=n div 10;
       end;
     d:=m;
   end
else if x<1 then
     begin
       r:=abs(frac(x));
       while r <1 do
       r:=r*10;
       d:=trunc(r);
     end;
if d=9 then Sept:=true
else Sept:=false;
end;
Var n,i:byte;
a:array [byte] of real;
begin
clrscr;
write('Vvedite kol-vo elementov massiva:');
readln(n);
writeln('Masiv:');
for i:=1 to n do
read(a[i]);
readln;
for i:=1 to n do
if Sept(a[i]) then
writeln(a[i]:4:8);
readln
end.
0
2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
19.12.2008, 20:23  [ТС] 15
а без процедур и функции можно как нить???
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.12.2008, 21:16 16
Во первых процедур нет вообще, а функция одна. Можно и без нее, если то, что там написано, писать при прверке каждого числа. Вы вообще программировать учитесь или спринтом занимаетесь? Советую перейти на бокс, слово функция забудете через неделю.
0
msi92
10.05.2011, 17:47 17
как решить эту же задачу в Qbasic?
10.05.2011, 17:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2011, 17:47
Помогаю со студенческими работами здесь

Вывести все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1
Добрый день, нужно написать программу тремя способами - используя операторы цикла while, do while и...

Вывести на экран все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1
Вывести на экран все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем...

Циклы.Найти все натуральные числа не превосходящие заданного n, десятичная запись которых есть строго убывающая последовательность цифр
Может кто поможет новечку с заданием?%-)))заранее благодарю)С меня рек само собой))) Найти все...

Найти все двузначные числа, в которых есть заданная цифра
найти все двузначные числа, в которых есть заданная цифра.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru