2 / 1 / 0
Регистрация: 30.10.2008
Сообщений: 21
|
|
1 | |
Найти все числа, у которых старшая значащая десятичная цифра есть 914.11.2008, 19:02. Показов 4796. Ответов 16
Метки нет (Все метки)
В заданном вещественном массиве найти все числа,у которых старшая значащая дестичная цифра есть 9(числа сильно различаются по величине).
\например число 892 тут есть цифра 9 значит выводим его\
0
|
14.11.2008, 19:02 | |
Ответы с готовыми решениями:
16
Найти все числа, у которых старшая значащая десятичная цифра равна 9 В массиве найти числа, у которых старшая значащая десятичная цифра равна 9 В заданном вещественном массиве A (n) найти все числа, в которых старше значимая десятичная цифра 9 Найти все натуральные числа, десятичная запись которых есть строго возрастающая последовательность |
(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 секунд К тому же что значит : Это имеется ввиду старший разряд числа ? или что ?
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 | |
10.05.2011, 17:47 | |
Помогаю со студенческими работами здесь
17
Вывести все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1 Вывести на экран все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1 Циклы.Найти все натуральные числа не превосходящие заданного n, десятичная запись которых есть строго убывающая последовательность цифр Найти все двузначные числа, в которых есть заданная цифра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |