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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alina278
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 39
#1

Подсчитать количество нечетных элементов - C++

20.01.2014, 01:58. Просмотров 550. Ответов 12
Метки нет (Все метки)

Кто что сможет помогите(((
Подсчитать количество нечетных элементов.Замечание. Задачи из данного пункта решить двумя способами, используя одномерный
массив, а затем двумерный.
2
Найти номер последнего максимального элемента.
Замечание. Задачи из данного пункта решить, используя одномерный массив
3Поменять местами два средних столбца, если количество столбцов четное, и первый
со средним столбцом, если количество столбцов нечетное
4
Для каждого столбца подсчитать сумму четных положительных элементов и записать
данные в новый массив.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 01:58     Подсчитать количество нечетных элементов
Посмотрите здесь:

Подсчитать количество нечетных элементов - C++
Подсчитать количество нечетных элементов,Найти номер последнего максимального элемента,Поменять местами два средних столбца, если...

Подсчитать количество удвоенных нечетных значений элементов массива - C++
Дан массив, подсчитать количество удвоенных нечетных значений элементов данного массива на языке С++

Задача на матрицу: подсчитать количество нечетных элементов в каждом столбце - C++
Пожалуйста,помогите составить программу: составьте программу на языке С++, позволяющую подсчитать количество нечетных элементов в каждом...

Подсчитать количество нечетных элементов последовательности, используя одномерный массив - C++
1 Задача:Дана последовательность целых чисел.Подсчитать кол-во нечетных элементов используя одномерный массив.

Подсчитать количество нечетных элементов, расположенных ниже главной диагонали матрицы - C++
Дана квадратная матрица А(N,N). Составить программу подсчета количества нечетных элементов, расположенных ниже главной диагонали.

Подсчитать количество нечетных чисел в последовательности - C++
Подсчитать количество нечетных чисел в последовательности из N случайных чисел, заданных в диапазоне от 2 до 10. Сгенерированные числа и...

Подсчитать суму четных чисел на нечетных местах и их количество - C++
Задать масив А на 20 чисел из произвольных чисел используя ранд, и подсчитать суму четных чисел на нечетных местах и их количество.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.01.2014, 02:07     Подсчитать количество нечетных элементов #2
Цитата Сообщение от Alina278 Посмотреть сообщение
Подсчитать количество нечетных элементов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include<vector>
#include<algorithm>
#include<iterator>
int main()
{
    std::vector<int> vec = {1,5,8,2,10,-2,4,6,12,-12,4,4,0-5,7,13};
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<"\nNumber of odd numbers = "
              <<std::count_if(vec.begin(),vec.end(),[] (int n){return n%2!=0;});
    return 0;
}
}
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
20.01.2014, 03:13     Подсчитать количество нечетных элементов #3
Цитата Сообщение от Alina278 Посмотреть сообщение
Найти номер последнего максимального элемента.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    int mas[] = {12, 15, 5, 8, 45, 8, 2, 22};
    int max = 0, length;
    length = sizeof(mas) / sizeof(mas[0]);
    for(int i = 0; i < length; i++)
    {
        if(max < mas[i])
            max = mas[i];
    }
    
    cout << "Max element is: " << max << endl;
    
    system("pause");
    return 0;
}
Добавлено через 10 минут
Цитата Сообщение от Alina278 Посмотреть сообщение
Найти номер последнего максимального элемента.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
    int mas[] = {12, 15, 5, 8, 45, 8, 2, 22};
    int max = 0, counter = 0, length;
    length = sizeof(mas) / sizeof(mas[0]);
    for(int i = 0; i < length; i++)
    {
        if(max < mas[i])
        {
            max = mas[i];
            counter = i; //Если считать нулевой индекс первым, то тогда i + 1
        }
    }
    
    cout << "Max element's index: " << counter << endl;
    
    system("pause");
    return 0;
}
Не понял задание в первый раз.
MrGluck
Модератор
Эксперт CЭксперт С++
6998 / 4169 / 594
Регистрация: 29.11.2010
Сообщений: 11,050
20.01.2014, 03:25     Подсчитать количество нечетных элементов #4
Цитата Сообщение от GuGo1991 Посмотреть сообщение
int max = 0,
а если в массиве будут отрицательные числа?
int max = arr[0]. и в цикле можно считать с 1 до length - 1
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
20.01.2014, 03:48     Подсчитать количество нечетных элементов #5
Цитата Сообщение от MrGluck Посмотреть сообщение
а если в массиве будут отрицательные числа?
Вроде не уточнялось в задании
Цитата Сообщение от MrGluck Посмотреть сообщение
и в цикле можно считать с 1 до length - 1
В смысле?
MrGluck
Модератор
Эксперт CЭксперт С++
6998 / 4169 / 594
Регистрация: 29.11.2010
Сообщений: 11,050
20.01.2014, 03:51     Подсчитать количество нечетных элементов #6
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Вроде не уточнялось в задании
Но и не было сказано, что массив натуральных или положительных чисел. А класс чисел включает в себя и отрицательные.
Цитата Сообщение от GuGo1991 Посмотреть сообщение
В смысле?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdlib>
#include <iostream>
using namespace std;
 
int main()
{
    int mas[] = {12, 15, 5, 8, 45, 8, 2, 22};
    int max = 0, counter = 0, length;
    length = sizeof(mas) / sizeof(mas[0]);
    for(int i = 1; i < length; i++) // можно проверять с первого элемента
    {
        if(max < mas[i])
        {
            max = mas[i];
            counter = i; //Если считать нулевой индекс первым, то тогда i + 1
        }
    }
    
    cout << "Max element's index: " << counter << endl;
    
    system("pause");
    return 0;
}
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
20.01.2014, 04:02     Подсчитать количество нечетных элементов #7
Цитата Сообщение от MrGluck Посмотреть сообщение
можно проверять с первого элемента
А нулевой элемент массива?

Добавлено через 5 минут
Цитата Сообщение от Alina278 Посмотреть сообщение
Для каждого столбца подсчитать сумму четных положительных элементов и записать
данные в новый массив.
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
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
int main()
{
    srand(time(0));
    
    const int W = 10, H = 10;
    int mas[W][H],
        odd[H],
        counter = 0;
    
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
            mas[i][j] = 100 - (1 + rand() % 200);
    }
    
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
        {
            cout << setw(4) << mas[i][j] << "  ";
            if(mas[i][j] > 0 && mas[i][j] % 2 == 0)
            {
                counter++;
            }
        }
        cout << endl;
        odd[i] = counter;
        counter = 0;
    }
    
    cout << "\n";
    
    for(int i = 0; i < H; i++)
    {
        cout << setw(4) << "|" << "  ";
    }
    
    cout << "\n\n";
    
    for(int i = 0; i < H; i++)
    {
        cout << setw(4) << odd[i] << "  ";
    }
    
    cout << endl;
    
    system("pause");
    return 0;
}
some_name
Вежливость-главное оружие
221 / 221 / 55
Регистрация: 19.02.2013
Сообщений: 1,431
20.01.2014, 04:14     Подсчитать количество нечетных элементов #8
Цитата Сообщение от Alina278 Посмотреть сообщение
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
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
#include "stdafx.h"
#include<iostream>
#include<iomanip>
 
using namespace std;
 
int** matrix_constructor(int size)
{
    int** matrix_new = new int* [size]; 
    for (int i = 0; i < size; i++) matrix_new[i] = new int[size];
    return matrix_new;
}
 
void matrix_fill(int** matrix, int size, bool random_fill = true)
{
    if(random_fill) 
    {
        srand((unsigned)time(NULL));
        for (int i = 0; i < size; i++)
            for (int j = 0; j < size; j++)
                matrix[i][j] = rand() % 30 + 10;        
    }
    else
    {
        for(int i = 0; i < size; i++)
        {
            for(int j = 0; j < size; j++)
                cout<<"Enter {"<<i<<":"<<j<<"}"<<"element";
            cout<<endl;
        }
    }
}
 
void matrix_swap(int** matrix, int size)
{   
    int mid, buffer;
    if(size % 2)
    {
        mid = (size - 1)/2 + 1;
        cout<<"Swap "<<1<<" and "<<mid + 1<<endl;
        for (int i = 0; i < size; i++)
        {
            buffer = matrix[i][mid];
            matrix[i][mid] = matrix[i][0];
            matrix[i][0] = buffer;
        }
    }
    else
    {
        mid = size/2;
        cout<<"Swap "<<mid<<" and "<<mid + 1<<endl;
        for (int i = 0; i < size; i++)
        {
            buffer = matrix[i][mid];
            matrix[i][mid] = matrix[i][mid - 1];
            matrix[i][mid - 1] = buffer;
        }
    }
}
 
void matrix_print(int** matrix, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++) cout<<matrix[i][j]<<" ";     
        cout<<endl;
    }
    cout<<endl;
}
 
void matrix_destructor(int** matrix, int size)
{   
    for (int i = 0; i < size; i++) delete matrix[i];
    delete matrix;  
}
int main()
{
    int size;
    int** matrix;
 
    cout<<"Matrix size : "; cin>>size;
 
    matrix = matrix_constructor(size);
    matrix_fill(matrix, size);
    matrix_print(matrix, size);
    matrix_swap(matrix, size);
    matrix_print(matrix, size);
    matrix_destructor(matrix, size);
 
    getchar(); getchar();
 
    return 0;
}


Добавлено через 6 минут
вместо 28 строки втавте:

C++
1
2
3
{
cout<<"Enter {"<<i<<":"<<j<<"}"<<"element"; cin>>matrix[i][j];
}
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
20.01.2014, 04:17     Подсчитать количество нечетных элементов #9
Цитата Сообщение от Alina278 Посмотреть сообщение
Для каждого столбца подсчитать сумму четных положительных элементов и записать
данные в новый массив.
Извиняюсь, опять ошибочка вышла. Наверное ночь за окном действует...

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
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
int main()
{
    srand(time(0));
    
    const int W = 10, H = 10;
    int mas[W][H],
        odd[H],
        counter = 0;
    
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
            mas[i][j] = 100 - (1 + rand() % 200);
    }
    
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
        {
            cout << setw(4) << mas[i][j] << "  ";
            if(mas[j][i] > 0 && mas[j][i] % 2 == 0) //Вот столбцы
            {
                counter++;
            }
        }
        cout << endl;
        odd[i] = counter;
        counter = 0;
    }
    
    cout << "\n";
    
    for(int i = 0; i < H; i++)
    {
        cout << setw(4) << "|" << "  ";
    }
    
    cout << "\n\n";
    
    for(int i = 0; i < H; i++)
    {
        cout << setw(4) << odd[i] << "  ";
    }
    
    cout << endl;
    
    system("pause");
    return 0;
}
MrGluck
Модератор
Эксперт CЭксперт С++
6998 / 4169 / 594
Регистрация: 29.11.2010
Сообщений: 11,050
20.01.2014, 04:44     Подсчитать количество нечетных элементов #10
Цитата Сообщение от GuGo1991 Посмотреть сообщение
А нулевой элемент массива?
А нулевой мы итак уже приняли за максимум, зачем нам его же с ним же сравнивать?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
20.01.2014, 05:04     Подсчитать количество нечетных элементов #11
Цитата Сообщение от MrGluck Посмотреть сообщение
А нулевой мы итак уже приняли за максимум, зачем нам его же с ним же сравнивать?
Исправьте меня если я ошибаюсь, но первое сравнение max с mas[i]
Цитата Сообщение от MrGluck Посмотреть сообщение
if(max < mas[i])
где max = 0, i = 0, следовательно mas[i] = 12 и здесь выясняется что max < mas[0]
и тогда max присваивается значение mas[0].
Мы ведь перескочим нулевой элемент, если начнем сравнение с первого.
MrGluck
Модератор
Эксперт CЭксперт С++
6998 / 4169 / 594
Регистрация: 29.11.2010
Сообщений: 11,050
20.01.2014, 05:10     Подсчитать количество нечетных элементов #12
GuGo1991, посмотрите еще раз сюда:
Цитата Сообщение от MrGluck Посмотреть сообщение
int max = arr[0]. и в цикле можно считать с 1 до length - 1
Добавлено через 22 секунды
Или непременно нужно кодом показать реализацию?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 05:24     Подсчитать количество нечетных элементов
Еще ссылки по теме:

Дана матрица целых чисел. Подсчитать количество элементов, предшествующих максимуму и количество элементов, следующих за минимумом - C++
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; //#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main() { int i,j; srand(7); const...

Подсчитать количество четных и нечетных цифр в числе в процентном отношении - C++
Ввести с клавиатуры число в диапазоне от 100 до 100 000 000 (введеноe число проверяется). Подсчитать количество четных и нечетных цифр в...

Подсчитать количество четных и нечетных цифр во введенном числе в процентном отношении (do while) - C++
Здравствуйте, помогите пожалуйста написать две программы. Остальные сделал а эти никак не могу :( 1) Ввести с клавиатуры число в...

Найти сумму четных элементов, количество нечетных элементов и произведение элементов, кратным 3 - C++
Дан одномерный массив состоящий из 10 элементов а) найти сумму четных элементов; б)найти количество нечетных элементов; с)найти...

Дан одномерный массив А с n целых числел. Нужно подсчитать количество нечетных чисел - C++
1. Дан одномерный массив А с n целых числел. Нужно подсчитать количество нечетных чисел.


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

Или воспользуйтесь поиском по форуму:
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
20.01.2014, 05:24     Подсчитать количество нечетных элементов #13
Цитата Сообщение от MrGluck Посмотреть сообщение
int max = arr[0]. и в цикле можно считать с 1 до length - 1
Ну если до цикла то само собой. Просто не допоняли друг друга...
Здесь, так сказать, дело "почерка", привычки.
Спасибо за замечания в любом случае )
Yandex
Объявления
20.01.2014, 05:24     Подсчитать количество нечетных элементов
Ответ Создать тему
Опции темы

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