Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 16.12.2017
Сообщений: 23
1

Дана матрица. Вывести на экран все четные строки, то есть с четными номерами

03.02.2018, 11:00. Показов 4980. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана матрица. Вывести на экран все четные строки, то есть с четными номерами.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2018, 11:00
Ответы с готовыми решениями:

Вывести на экран все слова с четными номерами.
Дана строка текста, в которой слова разделены пробелами. Нужно вывести на экран все слова с четными...

Дана квадратная матрица. Посчитать сумму элементов с четными номерами
Заданая двумерная последовательность з NxN целых чисел. Найти суму елементов з четними номерами...

Дана матрица. Вывести на экран все четные строки, то есть с четными номерами
Дана матрица. Вывести на экран все четные строки, то есть с четными номерами.

Вывести на экран все строки матрицы с четными номерами
Дана матрица. Вывести на экран все четные строки, то есть с четными номерами.

7
20 / 19 / 19
Регистрация: 01.11.2017
Сообщений: 48
03.02.2018, 11:30 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
#include<iostream>
using namespace std;
 
const int MX_N = 100;
int A[MX_N][MX_N];
int sumR[MX_N], sumC[MX_N], sumD1, sumD2;
 
int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            cin >> A[i][j];
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            if (i % 2 == 1) { //Счет с нуля, строки с четными номерами стали строками с нечетными номерами
                cout << A[i][j] << " ";
            }
        }
        if (i % 2 == 1)
            cout << endl;
    }
}
0
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
03.02.2018, 11:38 3
evstarylan,
1. зачем вот это:
Цитата Сообщение от evstarylan Посмотреть сообщение
int sumR[MX_N], sumC[MX_N], sumD1, sumD2;
2. зачем матрица объявлена вне функции main()?
3.
C++
1
2
3
4
5
    
    int n;
    cin >> n;
    if(n>MX_N)
         n=MX_N;
4.
C++
1
2
3
4
5
for (int i = 1; i < n; i+=2) { //цикл через одну строку
        for (int j = 0; j < n; ++j) 
                cout << A[i][j] << " ";
        cout<<endl;
}
0
20 / 19 / 19
Регистрация: 01.11.2017
Сообщений: 48
03.02.2018, 11:45 4
zss,
1. Ай. Затерялось из предыдущей задачи, извините, лишнее

2. Глобально объяленная матрица сразу запонена 0, почему нет?

3. Подразумевается, что человек знает максимальное значение N и может сам подставить его в константу. Можно и проверить для успокоения совести.
0
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
03.02.2018, 11:50 5
Цитата Сообщение от evstarylan Посмотреть сообщение
2. Глобально объяленная матрица сразу запонена 0, почему нет?
C++
1
2
int main() {
   int A[MX_N][MX_N]={0};
Но в данном случае, вообще-то, заполнять нулями не обязательно.

Цитата Сообщение от evstarylan Посмотреть сообщение
Подразумевается, что человек знает максимальное значение N
С чего бы это? Вы отдали программу пользователю, а он понятия не имеет об этом ограничении.
Лучше, конечно, выделять память динамически.
C++
1
2
3
4
5
6
7
8
9
int n;cin>>n;
int** A;
A=new int*[n];
for(int i=0;i<n;i++)
   A[i]=new int[n];
//....
for(int i=0;i<n;i++)
   delete[] A[i];
delete[] A;
0
20 / 19 / 19
Регистрация: 01.11.2017
Сообщений: 48
03.02.2018, 11:57 6
zss, тоже вариант.
Действительно, здесь это неважно.

Добавлено через 6 минут
zss/
Как лучше поступать в подобных задачах?
Я обычно пишу массивы, чтобы не усложнять решение для человека, и ввожу константу на максимальное N. Или можно использовать вектор или динамический массив как вы показали.
0
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
03.02.2018, 11:58 7
Цитата Сообщение от evstarylan Посмотреть сообщение
Как лучше поступать в подобных задачах?
Не могу сказать точно, т.к. неизвестен уровень знаний ТС.
0
10 / 9 / 8
Регистрация: 24.03.2017
Сообщений: 37
03.02.2018, 14:42 8
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
#include <iostream>
#include <time.h>
 
using namespace std;
 
int main() {
    srand(time(0));
#define m 5
#define n 5
    int arr[m][n];
    for (int i = 0; i < m; i++)
        for (int j = 0; j < n; j++)
            arr[i][j] = rand() % 9+1;
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++)
            cout << " " << arr[i][j];
        cout << endl;
    }cout << endl;
    cout << "Stroki s chetnimi nomerami: \n";
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++)
            if (i % 2 != 0) {
                cout << " " << arr[i][j];
            }
        cout << endl;
    }
    system("pause");
    return 0;
}
0
03.02.2018, 14:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2018, 14:42
Помогаю со студенческими работами здесь

Дана матрица. Вывести на экран все строки, номера которых кратны 3
Дана матрица. Вывести на экран все строки, номера которых кратны 3 Выполнить задание при помощи...

Вывести на экран все компоненты файла с четными номерами
Ребят,помогите пожалуйста решить 2 задачи.Заранее спасибо! I.Дана последовательность из n...

Вывести на экран все компоненты файла с четными номерами, меньше заданного числа
I Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран...

Дана вещественная матрица. Удалить все строки, содержащие только четные элементы
Помогите пожалуйста исправить программу. Дана вещественная матрица А(n,m), где n&lt;10, m&lt;10....


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru