Форум программистов, компьютерный форум CyberForum.ru

В числе поменять местами цифры - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
максикок
1 / 1 / 0
Регистрация: 07.10.2010
Сообщений: 75
07.10.2010, 21:40     В числе поменять местами цифры #1
Дано число ABCDEF.GHIKLM(в котором буквы – это любые цифры (0..9)) в этом числе поменять местами
E – H и C – L
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
07.10.2010, 21:57     В числе поменять местами цифры #2
Индусское решение...

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
#include <stdio.h>
 
int main()
{
    char A[6];
    char G[6];
    char temp;
 
    printf("Enter the number of species ABCDEF.GHIJKL: ");
    scanf("%c%c%c%c%c%c.%c%c%c%c%c%c", &A[0], &A[1], &A[2], &A[3], &A[4], &A[5], &G[0], &G[1], &G[2], &G[3], &G[4], &G[5]);
 
    temp = A[4];
    A[4] = G[1];
    G[1] = temp;
 
    temp = A[2];
    A[2] = G[4];
    G[4] = temp;
 
    printf("%c%c%c%c%c%c.%c%c%c%c%c%c", A[0], A[1], A[2], A[3], A[4], A[5],  G[0], G[1], G[2], G[3], G[4], G[5]);
 
    getch();
    return 0;
}
максикок
1 / 1 / 0
Регистрация: 07.10.2010
Сообщений: 75
07.10.2010, 21:59  [ТС]     В числе поменять местами цифры #3
ох спасибо большое!!! а вот как сделать еще и через операции целочисленного деления?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
07.10.2010, 23:12     В числе поменять местами цифры #4
Хм, чёрт... Пришлось подумать...

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
#include <stdio.h>
 
int main()
{
    double num;
    int num1, num2;
    int t11, t12;
    int t21, t22;
 
    printf("Enter the number of species ABCDEF.GHIJKL: ");
    scanf("%lf", &num);
 
    num1 = (int)num;
    num -= (double)num1;
    num *= 10000000.0;
    num2 = (int)num;
 
    if (num2 % 10 == 9)
    {
        num2 /= 10;
        num2++;
    }
    else
        num2 /= 10;
 
    t11 = (num1 / 10) % 10;
    t12 = (num2 / 10000) % 10;
    t21 = (num1 / 1000) % 10;
    t22 = (num2 / 10) % 10;
 
    num1 = ((num1 / 10) - t11 + t12) * 10 + num1 % 10;
    num1 = ((num1 / 1000) - t21 + t22) * 1000 + num1 % 1000;
    num2 = ((num2 / 10000) - t12 + t11) * 10000 + num2 % 10000;
    num2 = ((num2 / 10) - t22 + t21) * 10 + num2 % 10;
 
    num = (double)num1 + (double)num2 / 1000000.0;
    printf("%lf", num);
 
    getch();
    return 0;
}
Yandex
Объявления
07.10.2010, 23:12     В числе поменять местами цифры
Ответ Создать тему
Опции темы

Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru