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

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

Войти
Регистрация
Восстановить пароль
 
Викулька
0 / 0 / 0
Регистрация: 09.06.2011
Сообщений: 33
#1

Сформировать матрицу по заданному образцу - C++

27.02.2012, 19:48. Просмотров 508. Ответов 9
Метки нет (Все метки)

Двумерный массив
Получить матрицу:

1 0 … 0 1
0 1 … 1 0
. . … . .
0 1 … 1 0
1 0 … 0 1

У меня не че не получается, помогите парни...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 19:48     Сформировать матрицу по заданному образцу
Посмотрите здесь:

C++ Сформировать квадратную матрицу порядка n по заданному образцу
C++ Сформировать квадратную матрицу по заданному образцу
C++ Сформировать квадратную матрицу порядка n по заданному образцу
Сформировать матрицу по заданному образцу C++
Сформировать квадратную матрицу порядка n по заданному образцу c++ C++
Сформировать квадратную матрицу порядка n по заданному образцу C++
Сформировать квадратную матрицу порядка n по заданному образцу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
27.02.2012, 20:06     Сформировать матрицу по заданному образцу #2
первое что пришло в голову:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char** argv) {
    int i, j, n, k;
    int arr[10][10];
    scanf("%d", &n);
    for (i=1; i<=n; i++){
        if (i%2 != 0){
            k=0;
        }
        else {
            k=1;
        }
        for (j=1; j<=n; j++){
            printf("%d\t", k=abs(k-1));
        }
        printf("\n");
    }
    return (EXIT_SUCCESS);
}
Викулька
0 / 0 / 0
Регистрация: 09.06.2011
Сообщений: 33
27.02.2012, 20:23  [ТС]     Сформировать матрицу по заданному образцу #3
что то не то, должны 1 идти к центру, тоесть надо задать по диагонали, вот что у меня пока есть
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
#pragma hdrstop
#include <conio.h>
#include <iostream>
using namespace std;
 
#pragma argsused
int main(int argc, char* argv[])
{
int n=9,mas[9][9];
for(int i=0; i<n; i++)
{
        for(int j=0; j<n; j++)
        {
                if(i==j && i+j-1)
                mas[i][j]=1;
                else
                mas[i][j]=0;
                cout<<mas[i][j]<<" ";
        }
        cout<<"\n";
}
_getch ();
return 0;
}
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 20:34     Сформировать матрицу по заданному образцу #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
#define SIZE 10
 
int main()
{
    int arr[SIZE][SIZE] = { 0 };
    int i, j;
 
    for(i = 0; i < SIZE; ++i)
        arr[i][i] = arr[i][SIZE - i - 1] = 1;
 
    for(i = 0; i < SIZE; ++i)
    {
        for(j = 0; j < SIZE; ++j)
            printf("%d\t", arr[i][j]);
        printf("\n");
    }
 
    return 0;
}
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
27.02.2012, 20:42     Сформировать матрицу по заданному образцу #5
ну из того рисунка это было не понятно. сейчас исправлю

Добавлено через 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
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char** argv) {
    int i, j, n;
    int arr[10][10];
    scanf("%d", &n);
    for (i=1; i<=n; i++){
       for (j=1; j<=n; j++){
           if (j==i){
            printf("1");  
           }
           else {
               if (j==n-i+1){
                 printf("1");   
               } 
               else {printf("0");}
        }
       } 
        printf("\n");
    }
    return (EXIT_SUCCESS);
}
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 20:43     Сформировать матрицу по заданному образцу #6
Цитата Сообщение от Deryck Посмотреть сообщение
for (i=1; i<=n; i++){
* * * *for (j=1; j<=n; j++)
Бабах, выход за границы.
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
27.02.2012, 20:50     Сформировать матрицу по заданному образцу #7
Цитата Сообщение от soon Посмотреть сообщение
Бабах, выход за границы.
в смысле выход? у меня работает? может быть там просто размерность массива надо изменить?
заинтересовали....
HardMorg
3 / 26 / 3
Регистрация: 29.08.2010
Сообщений: 204
27.02.2012, 20:52     Сформировать матрицу по заданному образцу #8
Цитата Сообщение от Викулька Посмотреть сообщение
Двумерный массив
Получить матрицу:

1 0 … 0 1
0 1 … 1 0
. . … . .
0 1 … 1 0
1 0 … 0 1

У меня не че не получается, помогите парни...

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[5][5] = { 0 };
 
 
    for(int i = 0; i < 5; i++) {
        mas[i][i] = 1;
        mas[i][5-1-i] = 1;
    }
    
    for(int i = 0; i < 5; i++) {
        for(int j = 0; j < 5; j++)
            cout << mas[i][j] << " ";
        cout << endl;
    }
 
    return 0;
}
Добавлено через 1 минуту
soon, ой простите, не увидел Вашу реализацию)
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 20:56     Сформировать матрицу по заданному образцу #9
HardMorg, захотите вдруг размерность изменить - сразу в 6-и местах менять придется.

Deryck, индексация идет с нуля до size, где size - размер массива. А у вас при n = 10 будет выход за границы, это может закончится сигфолтом. Да даже если и не закончится(а gcc позволяет выходить за границы +2 элемента, если ничего не путаю), то так делать не стоит.

Добавлено через 43 секунды
Цитата Сообщение от HardMorg Посмотреть сообщение
soon, ой простите, не увидел Вашу реализацию)
Пфф. Ерунда
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 21:00     Сформировать матрицу по заданному образцу
Еще ссылки по теме:

Сформировать квадратную матрицу порядка n по заданному образцу C++
C++ Сформировать квадратную матрицу порядка n по заданному образцу
Сформировать квадратную матрицу порядка n по заданному образцу C++
Сформировать квадратную матрицу порядка n по заданному образцу C++
C++ Сформировать квадратную матрицу порядка n по заданному образцу

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

Или воспользуйтесь поиском по форуму:
Викулька
0 / 0 / 0
Регистрация: 09.06.2011
Сообщений: 33
27.02.2012, 21:00  [ТС]     Сформировать матрицу по заданному образцу #10
все я разобралась спасибо***
Yandex
Объявления
27.02.2012, 21:00     Сформировать матрицу по заданному образцу
Ответ Создать тему
Опции темы

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