11 / 8 / 1
Регистрация: 10.02.2010
Сообщений: 22
1

Блок-схема и математическая модель. Даны два натуральных числа. Путем перестановки цифр меньшего получить число больше большего.

23.02.2010, 15:46. Показов 2563. Ответов 6
Метки нет (Все метки)

Помогите, пожалуйста!!! Нужно составить полный отчет:
-матем. модель,
-описание алгоритма решения (опис. исходных данных, опис. выходных данных и формы представления, опис. блок-схемы),
-отладчик к задаче в QBasic.

Задача такая: Даны два натуральных числа. Путем перестановки цифр меньшего получить число больше большего.
Если нужен текст программы:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CLS
INPUT "vvedite bolshee chislo ", b
INPUT "vvedite menshee chislo ", m
DIM a(10)
DO
k = k + 1
a(k) = m MOD 10
m = m \ 10
LOOP UNTIL m = 0
FOR i = 1 TO k
FOR j = 2 TO k
IF a(j) > a(j - 1) THEN SWAP a(j), a(j - 1)
NEXT
NEXT
FOR i = 1 TO k
m = m + a(i)
IF i <> k THEN m = m * 10
NEXT
IF m < b THEN PRINT "zadacha ne imeet resheniya" ELSE PRINT m; ">"; b
END
Буду очень признательна за помошь!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2010, 15:46
Ответы с готовыми решениями:

Даны два натуральных числа.Выяснить,в каком из них больше цифр
Даны два натуральных числа.Выяснить,в каком из них больше цифр.(определить функцию для рассчета...

Даны два натуральных числа. Выяснить, в каком из них больше цифр
Даны два натуральных числа. Выяснить, в каком из них больше цифр. (Определить функцию для расчета...

Даны два натуральных числа. Выяснить в каком из них больше цифр
Даны два натуральных числа. Выяснить в каком из них больше цифр. (определить ф-ю для ращета кол-ва...

Даны два натуральных числа. Выяснить, в каком из них больше цифр. (Определить функцию для расчета количества цифр натура
Даны два натуральных числа. Выяснить, в каком из них больше цифр. (Определить функцию для расчета...

6
Day
1176 / 986 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
24.02.2010, 19:51 2
Задача не всегда имеет решение Так из 1111 никакими парестановками большее чем 2222 не получить. Может быть там есть еще какие-то условия?
0
paladin
285 / 185 / 7
Регистрация: 25.02.2009
Сообщений: 589
25.02.2010, 13:44 3
Мат. модель:
из числа вида a0*10^n + a1*10^(n-1)+ ... + an мы можем получить максимальное упорядочив элементы ai по убыванию.

Алгоритм решения: как видно из проги, сортируем разряды меньшего числа методом пузырька, вычисляем новое значение и сравниваем с большим числом. Если оно все еще меньше, то пишем о том, что решения нет, иначе выводим строку: [полученное число] > [большее число]. Исходные данные: два числа, выходные данные: строка текста на экране.

Будьте так добры. Используйте свою голову для оформления такой задачки согласно требованиям вашего преподавателя.
1
Day
1176 / 986 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
25.02.2010, 16:02 4
Yurii_74, требованиям моего преподавателя то, что Вы написали, вполне удовлетворяет
0
11 / 8 / 1
Регистрация: 10.02.2010
Сообщений: 22
27.02.2010, 14:48  [ТС] 5
Нет, условий там больше нет. А в чем сложность помочь нарисовать блок-схему? (((((((((( Другие модераторы рисовали........... (((((((((((((
1
17 / 17 / 0
Регистрация: 27.02.2010
Сообщений: 55
29.03.2010, 20:04 6
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
      CLS
      PRINT TAB(15);
      PRINT “Получение из меньшего числа ”;
      PRINT “путем перестановки его цифр ”;
      PRINT TAB(25);
      PRINT “числа больше большего из ”;
      PRINT “заданных.”
      PRINT
10: PRINT TAB(10);
      PRINT “Введите первое число:;
      INPUT “ ”, b
      PRINT TAB(10);
      IF b<1 THEN
      PRINT “Введенное число не является ”;
      PRINT “натуральным.”
      PRINT TAB(10);
      PRINT “Повторяю.”
      GOTO 10
      END IF
20: PRINT TAB(10);
      PRINT “Введите второе число:;
      INPUT “ ”, m
      PRINT TAB(10);
      IF m<1 THEN
      PRINT “Введенное число не является ”;
      PRINT “натуральным.”
      PRINT TAB(10);
      PRINT “Повторяю.”
      GOTO 20
      END IF
      PRINT TAB(10);
      IF b=m THEN
      PRINT “Вы ввели два одинаковых ”;
      PRINT “числа.”
      GOTO 30
      END IF
      IF b<m THEN SWAP b,m
      DIM a(10)
      DO
      k=k+1
      a(k)=m MOD 10
      m=m\10
      LOOP UNTIL m=0
      FOR i=1 TO k
      FOR j=2 TO k
      IF a(j)>a(j-1) TOHEN SWAP a(i),a(j-1)
      NEXT j
      NEXT i
      FOR i=1 TO k
      m=m+a(i)
      IF i<>k THEN m=m*10
      NEXT i 
      IF m<b THEN
      PRINT “Задача не имеет решения.”
      PRINT TAB(15);
      ELSE
      PRINT TAB(15);
      PRINT “Число больше большего,;
      PRINT “полученное путем переста-;
      PRINT TAB(25);
      PRINT “новки цифр меньшего числа:”
      PRINT TAB(10);
      PRINT m; “>”; b
30: END IF

Помогите с блок-схемкой, будьте добры (((((((((
0
paladin
285 / 185 / 7
Регистрация: 25.02.2009
Сообщений: 589
30.03.2010, 07:13 7
Делать было нечего (с)
Код
      Начало
        ↓
   ввод 1 числа (b)←──┐
        ↓             │нет
 b – натуральное?─────┘
        ↓да
   ввод 2 числа (ь)←──┐
        ↓             │нет
 m – натуральное?─────┘
        ↓да
       m=b?─────────────────────────────┐
        ↓нет                            │
       b<m?───────┐                     │
        ↓да       │нет                  │
   меняем b и m   │                     │
     местами      │                   да│
        ├─────────┘                     │
        ↓                               │
   в массиве a                          │
  получаем до 10                        │
   цифр числа m                         │
        ↓                               │
сортируем массив a                      │
   по убыванию                          │
   "пузырьком"                          │
(только 2 цикл надо                     │
  бы заменить на                        │
 FOR j=2 TO k-i+1)                      │
        ↓                               │
 получаем новое m                       │
   из массива a                         │
        ↓                               │
m все еще меньше b? ───────┐да          │
        ↓нет               ↓            │
 вывод m ">" b     вывод "нет решений"  │
        ├──────────────────┘            │
        ├───────────────────────────────┘
        ↓
      Конец
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2010, 07:13

Даны два натуральных числа. Выявить, в каком из них сумма цифр больше
Задача: Даны два натуральных числа. Выявить, в каком из них сумма цифр больше. Определить...

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

Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше
Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше.(сумма цифр - функция). ...

Подпрограммы. Даны два натуральных числа. Выяснить, в каком из них больше цифр
1)Даны два натуральных числа. Выяснить, в каком из них больше цифр, определив функцию для расчета...


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

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

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