Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Venom33
22 / 22 / 0
Регистрация: 26.01.2013
Сообщений: 300
1

Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по убыванию произведений цифр

26.01.2013, 00:20. Просмотров 1253. Ответов 3
Метки нет (Все метки)

Здравствуйте. На форуме есть код подобный, но по возрастанию сумм элементов.
Как мне подправить код, чтобы было "по убыванию произведений цифр соответствующих эл-тов"?
Спасибо заранее добрым людям!
C++
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
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
void main()
{
    int A[99],buff;
    int i,n;
    char p[10],k[10];
    bool fl;
cout<<"Vvedite koli4estvo elementov posledovatelbnostu\n";
cin>>n;
system("cls");
if ((n<=0) || (n>99)) cout<<"oshblka vvoda"; else
{
 
    fl=true;
    i=1;
    while ((fl) & (i<=n))
    {
        cout<<"vvedite "<<i<<" element\n";
        cin>>A[i];
        itoa(A[i],p,10);
        system("cls");
            if ((strlen(p)<2) || (strlen(p)>2)) fl=false; else i=i+1;
    }
    if (fl)
    {
    for(i=1;i<=n;i++)
{
itoa(A[i],p,10);
k[0]=p[0];
    A[i]=atoi(k);
k[0]=p[1];
    A[i]=atoi(k)+A[i];
 
}
fl=true;
while (fl)
{
    fl=false;
    for (i=1;i<=n-1;i++)
    {
        if (A[i]>A[i+1])
        {
          buff=A[i];
          A[i]=A[i+1];
          A[i+1]=buff;
          fl=true;
        }
    }
}
 
for (i=1;i<=n;i++)
    cout<<i<<" element: "<<A[i]<<"\n";
    }
    else
cout<<"element posledovatelbnostu dolgen bbltb dvyxzna4nblm 4islom";
}
 getch();
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2013, 00:20
Ответы с готовыми решениями:

Дано целое число k и последовательность цифр, в которой выписаны подряд все двузначные числа. Определить k-ю цифру
Помогите решить... Дано целое число k (1&lt;=k&lt;=180) и последовательность цифр 10111213...9899, в...

1.Дана последовательность целых чисел,заменить все двузначные числа на X
1.Дана последовательность целых чисел,заменить все двузначные числа на X Алгоритмы STL

Упорядочить заданную последовательность по убыванию, изменяя элементы последовательности
Прошу помочь в задаче на функции. Задание в приложении

Построить последовательность из 0 и 1, в которой Bi=1 если элементы i-го столбца образуют убывающую последовательность
Дана действительная квадратная матрица порядка n. Построить последовательность В1,В2,...,Вп из...

Является ли последовательность цифр числа упорядоченной по возрастанию или по убыванию?
Пользователь вводит положительное число. Определить является ли последовательность его цифр...

3
DU
1489 / 1135 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
26.01.2013, 01:27 2
быть может в 35 строке + на * поменять.
A[i]=atoi(k) * A[i]; что там на самом деле происходит - хз. но это место больше всего похоже на то, где циферки складываются
1
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
26.01.2013, 02:20 3
C++
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
#include <iostream>
#include <iomanip>
#include <cstdlib> //setw
inline int mul(int a) {
    return (a/10) * (a%10);
}
using namespace std;
 
int main() {
    int n = 0;
    cout << "n? ";
    cin >> n;
    int *p = new int[n];
    int i = -1;
    while (++i < n) {
        do {
            //cout << "p[" << i << "]? ";
            //cin >> p[i];
            p[i] = rand() % 100;
 
        } while (p[i] > 99 || p[i] < 10);
        cout << setw(4) << p[i];
    };
    cout << "\n Isxodnyi massiv\n";
    for (int i = 0; i < n; ++i)
        cout << setw(4) << p[i];
    // пузырек
    for (int i = 0, tmp = 0; i < n; ++i) {
        for (int j = 0; j < n - 1; ++j) {
 
            if (mul(p[j + 1]) > mul(p[j])) {
                tmp = p[j + 1];
                p[j + 1] = p[j];
                p[j] = tmp;
            }
        }
    }
    cout << "\n Posle sortirovki\n";
    for (int i = 0; i < n; ++i)
        cout << setw(4) << p[i];
delete []p;
return 0;
}
Добавлено через 2 минуты
Рюшечки - сами, там все для этого готово

Добавлено через 4 минуты
Перед delete[]p;
вствьте
C++
1
2
3
cout << "\n Proizvedeniya\n";
    for (int i = 0; i < n; ++i)
        cout << setw(4) << mul(p[i]);
1
Venom33
22 / 22 / 0
Регистрация: 26.01.2013
Сообщений: 300
27.01.2013, 14:18  [ТС] 4
Спасибо большое!
0
27.01.2013, 14:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2013, 14:18

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.
Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по...

Дана последовательность чисел. Выделить из последовательности те числа, которые заканчиваются на 0 и упорядочить их по убыванию.
Есть у кого-то курсач по C#? Дана последовательность чисел. Выделить из последовательности те...

Дана последовательность целых чисел, за которой следует ноль. Определите, содержит ли последовательность числа, являющиеся степенями 2
Задача: Дана последовательность целых чисел, за которой следует ноль. Определите, содержит ли...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.