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

Дана последовательность из n натуральных чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
iluxych
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 22
26.02.2013, 22:34     Дана последовательность из n натуральных чисел #1
Дорогие форумчане, помогите пожалуйста.
Дана последовательность из n натуральных чисел. Для каждого числа исходной последовательности подсчитать количество и сумму четных цифр в записи числа.
Сформировать новую последовательность, поместив в нее сначала количества четных цифр в записи числа, а затем их суммы.Упорядочить первую половину полученной последовательности в порядке возрастания , а вторую в порядке убывания значений. Вывести исходную и полученную(до и после сортировки) последовательности на экран.
В программе использовать функцию , которая вычисляет количество и сумму цифр в записи числа.( желательно реализовать С, можно и С++)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 22:34     Дана последовательность из n натуральных чисел
Посмотрите здесь:

Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Задачка на последовательность натуральных чисел C++
C++ Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое число, количес
C++ Построить последовательность из 20 чисел, образованную цифрами пятеричного представления последовательности натуральных чисел
Дана последовательность целых чисел, последнее из которых 0. Найти количество 3-значных чисел C++
C++ Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5
Дана последовательность факториалов натуральных чисел. Найти k-ю цифру C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kill100
 Аватар для Kill100
356 / 245 / 32
Регистрация: 11.12.2010
Сообщений: 1,061
Завершенные тесты: 1
27.02.2013, 01:44     Дана последовательность из n натуральных чисел #2
Это точно одна задача?? По размерчеку тянет на 2-3

Если пишешь в visual studio отключи пред-компилированные заголовки.
А в обще для C есть отдельная ветвь.
На си так на си
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
#define _CRT_SECURE_NO_WARNINGS //это для visual studio что бы не ругалась на scanf
#include "stdafx.h"
#include <iostream>
#include <math.h>//заголовок с мат функциями 
using namespace std;
/*
Дана последовательность из n натуральных чисел. Для каждого числа исходной последовательности 
подсчитать количество и сумму четных цифр в записи числа.
Сформировать новую последовательность, поместив в нее сначала количества четных цифр 
в записи числа, а затем их суммы.Упорядочить первую половину полученной последовательности в 
порядке возрастания , а вторую в порядке убывания значений. Вывести исходную и полученную
(до и после сортировки) последовательности на экран.
В программе использовать функцию , которая вычисляет количество и сумму цифр в записи числа.
*/
 
//Количество цифр чисел в числе
int Count_Even_Number(int Number)
{
    int Count_Number=0;//Количество чётных цифр в числе
    int s= Number;
    while (s>0)
    {
        if((s%10)%2==0)//проверка на чётность
            Count_Number++;
        s/=10;
    }
    return Count_Number;
}
 
//Сумма чётных цифр в числе
int Summ_Even_Number(int Number)
{
    int Summ_Number=0;//Количество чётных цифр в числе
    int s=Number;
    while (s>0)
    {
        if((s%10)%2==0)//проверка на чётность
            Summ_Number+=s%10;//суммирование
        s/=10;
    }
    return Summ_Number;
}
 
//сортировка пузырьком
void Sort(int *mass, int start ,int _count, bool flag)//массив,с какого элемента начинать , сколько элементов сортировать, true по возрастанию иначе по убыванию
{
    for(int i=start; i<=start+_count;i++)
        for(int j=start; j<=start+_count;j++)
            if(flag)
            {
                if(mass[j]>mass[j+1])
                {
                    int _temp =mass[j] ;
                    mass[j] = mass[j+1];
                    mass[j+1] = _temp;
                };
            }
            else
            {
                if(mass[j]<mass[j+1])
                {
                    int _temp =mass[j] ;
                    mass[j] = mass[j+1];
                    mass[j+1] = _temp;
                };
            };
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");//не знаю есть ли такое в C или это только C++
    printf("Введите длину последовательности R\n");
    int n=0, *mass1, *mass2;//Объявляем и сразу инициализируем переменную, n- длина, mass1- исходная последовательность, mass2- результат
    scanf("%i", &n);
    mass1 = new int[n];//объявляем массив из n элементов для 1 последовательности
    mass2 = new int[n*2];//объявляем массив из 2n элементов для 2 последовательности
    //считываем первую последовательность
    for (int i=0;i<n;i++)
        scanf("%i",&mass1[i]);
    //Считаем количество и пишем в новый массив mass2
    for (int i=0;i<n;i++)
        mass2[i]=Count_Even_Number(mass1[i]);
    //Считаем сумму и пишем в новый массив mass2
    for (int i=n;i<n*2;i++)//обрати внимание что не с 0 а с n и до 2n
        mass2[i]=Summ_Even_Number(mass1[i-n]);
    //Выводим не сортированный массив
    for (int i=0;i<n*2;i++)
        printf("%i ",mass2[i]);
    printf("\n");//перевод строки
    Sort(mass2,0,n,true);//сортировка пузырьком по возрастанию
    Sort(mass2,n,n*2,false);//пузырьком по убыванию
    for (int i=0;i<n*2;i++)
        printf("%i ",mass2[i]);
    delete[] mass1, mass2;//высвобождаем память
    system("pause");
    return 0;
}
Добавлено через 5 минут
Дублировать темы тут не приветствуется. Для каждого числа исходной последовательности подсчитать количество и сумму четных цифр в записи числа
Пункт правил 5.5. Я чуть 2 раза не написал одно и то же. .
HighPredator
27.02.2013, 16:01     Дана последовательность из n натуральных чисел
  #3
 Комментарий модератора 
Правила форума п. 5.5: Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Закрыто.
Yandex
Объявления
27.02.2013, 16:01     Дана последовательность из n натуральных чисел
Закрытая тема Создать тему
Опции темы

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