1 / 1 / 0
Регистрация: 24.04.2015
Сообщений: 47
1

Как сформировать матрицу заданного вида?

22.11.2016, 18:31. Показов 2693. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Матрица нужна такая: https://puu.sh/sqOuu/b00860e009.png
А получается: https://puu.sh/sqOxF/4adf42db01.png Как занулить лишнее?


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 "stdafx.h"
#include "iostream"
#include "conio.h"
#include "locale.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
    
    int a[5][5];
    int i, j;
    for(i=0; i<5; i++)
    {
        for(j=0; j<5; j++)
        {
                 if (i+j==5-1)
                   {
                    a[i][j]=1;
                   }
                 if(i+j<5-1)
                  {
                    a[i][j]=2;
                  }
                 if(i+j>5-1)
                 {
                    a[i][j]=2;
                 }
 
            cout << a[i][j]<< " ";
        }
 
        cout << endl;
 
    }
 
    _getch();
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2016, 18:31
Ответы с готовыми решениями:

Сформировать матрицу заданного вида
Доброго всем дня. Попалась задачка на формирование матрицы, не могу понять - или я решаю не...

Сформировать матрицу заданного вида
Здравствуйте. Задание следующее: Сформировать квадратную матрицу порядка n по заданному образцу....

Двумерные массивы. Сформировать матрицу заданного вида
помогите сформировать матрицу)) код в Pascal присутствует uses crt; const n=10; var a:array of...

Построить матрицу заданного вида
Построить матрицу вида порядка n C++

5
146 / 27 / 13
Регистрация: 21.09.2015
Сообщений: 62
22.11.2016, 18:44 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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "locale.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
 
    int a[5][5];
    int i, j;
    for (i = 0; i<5; i++)
    {
        for (j = 0; j<5; j++)
        {
            if (i + j == 4) a[i][j] = 2;
            else
                if (i + j == 3 || i + j == 5) a[i][j] = 1;
            else a[i][j] = 0;
 
            cout << a[i][j] << " ";
        }
 
        cout << endl;
 
    }
 
    _getch();
    return 0;
}
Добавлено через 2 минуты
Отпишите, если устраивает
1
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.11.2016, 18:55 3
Цитата Сообщение от STArSka Посмотреть сообщение
Так, думаю, правильно:
Проверьте. Результат не совпадает.
1
1 / 1 / 0
Регистрация: 24.04.2015
Сообщений: 47
22.11.2016, 18:59  [ТС] 4
Цитата Сообщение от STArSka Посмотреть сообщение
Так, думаю, правильно:
У вас там небольшая ошибка, но я у себя поправил:
C++
1
2
3
4
if (i + j == 4) a[i][j] = 1;
            else
                if (i + j == 3 || i + j == 5) a[i][j] = 2;
                else a[i][j] = 0;
Так что, всё равно спасибо.
0
146 / 27 / 13
Регистрация: 21.09.2015
Сообщений: 62
22.11.2016, 19:02 5
Лучший ответ Сообщение было отмечено Golden_Fox как решение

Решение

Вот, теперь точно, извините, был невнимателен

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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "locale.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
 
    int a[5][5];
    int i, j;
    for (i = 0; i<5; i++)
    {
        for (j = 0; j<5; j++)
        {
            if (i + j == 4) a[i][j] = 1;
            else
                if (i + j == 3 || i + j == 5) a[i][j] = 2;
            else a[i][j] = 0;
 
            cout << a[i][j] << " ";
        }
 
        cout << endl;
 
    }
 
    _getch();
    return 0;
}
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.11.2016, 19:14 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main() {
    int m[5][5];
    for ( int i = 0; i < 5; ++i ) {
        for ( int j = 0; j < 5; ++j ) {
            int k = 4 - (i + j);
            m[i][j] = "\0\0\0\2\1"[4 - (k < 0 ? -k : k)];
            std::cout << m[i][j] << ' ';
        }
        std::cout << std::endl;
    }
}
0
22.11.2016, 19:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2016, 19:14
Помогаю со студенческими работами здесь

Получить матрицу заданного вида
Получить матрицу n такого вида: 1| 2| 3| ...| n-1| n 2| 1| 2| ...

Создать матрицу заданного вида
Помогите с матрицей, нужно сделать вид на выходе: 4 5 6 7 8 9 10 0 3 14 15 16 11 0 0 0 2 13 12 0...

Получить матрицу заданного вида
помогите пожалуйста написать код программы в с++ , нужно получить матрицу, вводим размер матрицы и...

Вывести на экран матрицу заданного вида
Задание : Написать программу, которая выводит на экран матрицу вида: 1 0 1 0 1 1 0 1 0 1 1 0 1 0...


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

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

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