Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Определить четные значения в матрице - C++

05.11.2013, 17:07. Просмотров 377. Ответов 4
Метки нет (Все метки)

В целочисленной матрице размерами N*M определить количество элементов, которые имеют четные значения (N и M не больше 10). Матрицу сформировать из случайных чисел в диапазоне от 0 до 100.

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
#include "time.h"
#include "clocale"
#include "iostream"
using namespace std;
int main()
{
    int n,i,j,tmp=0;
    cout<<"n="; cin>>n;  
    int a[n][n];
    
    //âêëþ÷èì Г°Г*Г*äîì
    srand(time(NULL));
    // Г§Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ*
    
      for(i=0;i<n;i++)  
       {
         for(j=0;j<n;j++)
         {
        a[i][j]=rand()%100-0;
       cout<<a[i][j]<<" ";
       }
        cout<<"\r\n";
        
         //ïîèñê Г·ГҐГІГ*ûõ Г§Г*Г*Г·ГҐГ*ГЁГ© Г¬Г*òðèöû
         for(i=0;i<n;i++)  
       {
         for(j=0;j<n;j++)
         {
            if ( a[i][j] % 2 == 0) tmp++ ;
            cout<<tmp;
            }
            }   
}
        
         system("PAUSE");
         return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 17:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить четные значения в матрице (C++):

Определить количество элементов, имеющих четные значения - C++
Помогите решить бесталковому студенту, только начинаю разбираться в c+, не получается, желательно с пояснениями, буду признателен. 1)В...

В матрице определить индексы элементов значения которых равны заднному числу - C++
Дана прямоугольная матрица b. Определить индексы элемента, значение которого равно key. Если таких элементов несколько, то выдать индексы...

В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. - C++
1. В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. Число N и...

Замените все четные значения введённого с клавиатуры массива нулями и вывести скорректированные значения (с помощью указателей) - C++
Дорогие форумчане! Помогите пожалуйста с заданием!:cry: Введите с клавиатуры данные в массив целого типа,...

Переставить в матрице четные и нечетные столбцы - C++
Даны две матрицы размерности 7х7 целых случайных чисел. Переставить в них четные и нечетные столбцы. Собственно вопрос: Как переставить...

В прямоугольной матрице A(m,n) заменить четные столбцы вектором B(m) - C++
7.10.2. Помогите, пожалуйста, решить задачу в С++. В прямоугольной матрице A(m,n) заменить четные столбцы вектором B(m).

4
Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
05.11.2013, 17:42 #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <cstdlib>
#include <time.h>
 
using namespace std;
 
const int N = 10; //Менять тут
const int M = 10; //Менять тут
 
//even - четный по-английский
int findEvenNumsInMatrix(int testMatrix[N][M]);
 
int main()
{
    int testMatrix[N][M];
 
 
    srand(time(NULL));
    for(int i = 0; i < N; i++) {
        for(int j = 0; j < M; j++) {
            testMatrix[i][j] = 50 - rand() % 100; //Тут менять наполнение массива
            cout << "\n" << "testMatrix[" << i << "][" << j << "] = " << testMatrix[i][j];
        }
    }
 
    cout << "\n" << "Amount of Even numbers in testMatrix is " << findEvenNumsInMatrix(testMatrix);
    return 0;
}
 
int findEvenNumsInMatrix(int testMatrix[N][M]) {
    int amountOfEvenNums = 0;
    for(int i = 0; i < N; i++) {
        for(int j = 0; j < M; j++) {
            if(testMatrix[i][j] % 2 == 0) amountOfEvenNums++;
        }
    }
 
    return amountOfEvenNums;
}
1
PashaMorgan
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 13
05.11.2013, 17:45  [ТС] #3
Цитата Сообщение от Anton_Kretov Посмотреть сообщение
Вот, протестите мой вариант, код выполняет ваше условие.
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
#include <iostream>
#include <cstdlib>
#include <time.h>
 
using namespace std;
 
const int N = 10; //Менять тут
const int M = 10; //Менять тут
 
//even - четный по-английский
int findEvenNumsInMatrix(int testMatrix[N][M]);
 
int main()
{
    int testMatrix[N][M];
 
 
    srand(time(NULL));
    for(int i = 0; i < N; i++) {
        for(int j = 0; j < M; j++) {
            testMatrix[i][j] = 50 - rand() % 100; //Тут менять наполнение массива
            cout << "\n" << "testMatrix[" << i << "][" << j << "] = " << testMatrix[i][j];
        }
    }
 
    cout << "\n" << "Amount of Even numbers in testMatrix is " << findEvenNumsInMatrix(testMatrix);
    return 0;
}
 
int findEvenNumsInMatrix(int testMatrix[N][M]) {
    int amountOfEvenNums = 0;
    for(int i = 0; i < N; i++) {
        for(int j = 0; j < M; j++) {
            if(testMatrix[i][j] % 2 == 0) amountOfEvenNums++;
        }
    }
 
    return amountOfEvenNums;
}
Спасибо Большое,буду изучать)
0
Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
05.11.2013, 17:46 #4
Цитата Сообщение от PashaMorgan Посмотреть сообщение
Спасибо Большое,буду изучать)
Рад помочь! :3
0
TSed
20 / 20 / 1
Регистрация: 22.01.2013
Сообщений: 76
05.11.2013, 18:01 #5
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main(){
    int n, m;
    srand(time(0));
 
    while(true){
        cout<<"N->";
        cin>>n;
        cout<<"M->";
        cin>>m;
        if ( ((n>0) && (n<=10)) && ((m>0) && (n<=10)) )
            break;
        cout<<"Wrong M or N"<<endl;
    }
 
    int **arr = new int *[n];
    for (int i = 0; i < m; i++)
        arr[i] = new int[n];
    
    for (int i = 0; i < m; i++){
        for (int j = 0; j < n; j++){
            arr[i][j] = rand()%100;
        }
    }
    
    int count = 0;
 
    for (int i = 0; i < m; i++){
        for (int j = 0; j < n; j++){
            if(arr[i][j]%2 == 0)
                count++;
        }
    }
 
    cout<<"Result->"<<count<<endl;
    system("pause");
    for (int i = 0; i < m; i++)
        delete []arr[i];
    delete [] arr;
 
    return 0;
}
0
05.11.2013, 18:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 18:01
Привет! Вот еще темы с ответами:

В матрице, записанной в файл, четные элементы разделить на 4, а к нечетным прибавить 10 - C++
Вот условие задачи: В матрице A(6,6) четные элементы разделить на 4, а к нечетным прибавить 10. Вывести полученную матрицу. код: ...

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

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

Сортировка массива на четные/нечетные значения - C++
Всем привет. Соседние ветки видел, но не помогли. Задача - отсортировать массив сначала четные значения, затем нечетные. Менять можно...


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

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

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