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

Заполнить нулями элементы квадратной матрицы, расположенными по её периметру - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:10     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #1
Заполнить нулями элементы квадратной матрицы, расположенными по её периметру.
Нужно написать, используя функции. Кто может помочь?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2012, 11:10     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру
Посмотрите здесь:

C++ Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. освободившиеся в конце массива элементы заполнить нулями.
Сжать массив, удалив из него все элементы, которые лежат в интервале [a,b]. Освободившиеся в конце элементы массива заполнить нулями. C++
C++ Элементы расположенные по периметру матрицы.
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями C++
C++ Работа с матрицами (Получить элементы квадратной матрицы, где элементы матрицы зависят от параметров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:19     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #2
Щас накатаю

Добавлено через 1 минуту
А пример входных данных покажи пожалуйста?

Добавлено через 6 минут
Вот тебе код написал. Короче пример входных такой:
1) Вводишь число n это размер матрицы (к примеру введешь 5 то матрица будет 5х5)
2) Вводишь матрицу n x n
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<iostream>
using namespace std;
int a[100][100];
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)
    {
            a[i][0]=0;
            a[0][i]=0;
            a[n-1][i]=0;
            a[i][n-1]=0;
    }
    for(int i=0; i<n; ++i)
    {
            for(int j=0; j<n; ++j)
            {
                    cout<<a[i][j]<<" ";
            }   
            cout<<endl;
    }
    system("pause");
}
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:24  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #3
Спасибо огромное
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:24     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #4
А функцию надо? Я блин сразу не прочитал...
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:26  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #5
Да.. я смотрю что-то не то.
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:33     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #6
ок ща сделаю)

Добавлено через 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
#include<iostream>
using namespace std;
int a[100][100],n;
void pushinto(int y)
{
    int n=y;
    for(int i=0; i<n; ++i)
    {
            for(int j=0; j<n; ++j)
            {
                    cin>>a[i][j];
            }
    }
}
void setzero(int x)
{
    n=x;
    for(int i=0; i<n; ++i)
    {
            a[i][0]=0;
            a[0][i]=0;
            a[n-1][i]=0;
            a[i][n-1]=0;
    }
}
void show(int u)
{
     int n=u;
     for(int i=0; i<n; ++i)
     {
            for(int j=0; j<n; ++j)
            {
                    cout<<a[i][j]<<" ";
            }   
            cout<<endl;
     }
}
int main()
{
    cin>>n;
    pushinto(n);
    setzero(n);
    show(n);
    system("pause");
}
Добавлено через 2 минуты
Bukharov11, а как тебя зовут? а то у меня знакомый есть с таким именем)
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:33  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #7
Открывается просто командная строка и всё. ниче не просит ввести, и ничего не происходит..

нее я точно не твой знакомый)) у меня нет знакомых-программистов))
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:38     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #8
Ну да она и не будет просить) самому ввести как в первый раз вводил. Или тебе надо чтобы просила? щас сделаем)))

Добавлено через 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
#include<iostream>
using namespace std;
int a[100][100],n;
void zapros()
{
     cout<<"Vvedite razmer massiva (odno 4islo, k primeru 5 i massiv budet 5x5)"<<endl;
}
void vto()
{
     cout<<"Vvedite matricu razmerom "<<n<<"x"<<n<<endl;
}
void pushinto(int y)
{
    int n=y;
    for(int i=0; i<n; ++i)
    {
            for(int j=0; j<n; ++j)
            {
                    cin>>a[i][j];
            }
    }
}
void setzero(int x)
{
    n=x;
    for(int i=0; i<n; ++i)
    {
            a[i][0]=0;
            a[0][i]=0;
            a[n-1][i]=0;
            a[i][n-1]=0;
    }
}
void show(int u)
{
     int n=u;
     for(int i=0; i<n; ++i)
     {
            for(int j=0; j<n; ++j)
            {
                    cout<<a[i][j]<<" ";
            }   
            cout<<endl;
     }
}
int main()
{
    zapros();
    cin>>n;
    vto();
    pushinto(n);
    setzero(n);
    show(n);
    system("pause");
}
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:39  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #9
Вот я делал не через функцию, он мне сразу матрицу открывал с нулями по периметру:
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    const int n=7;
    int a [n][n];
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            if (i==0 || j==0 || i==n-1 || j==n-1)
               a [i][j]=0;
            else
               a [i][j]=1;
            cout << " " << a[i][j];
        }
    cout << endl;
    }
return 0;
}
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:40     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #10
Эххх ты)) я то думал человек сам должен ввести матрицу а я ее потом изменить
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:41  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #11
нееет)))
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:44     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #12
Так?
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 <iostream>
#include <conio.h>
int n,a [100][100];
using namespace std;
void zapros()
{
     cout<<"Vvedite razmer massiva (odno 4islo, k primeru 5 i massiv budet 5x5)"<<endl;
}
void set()
{
     for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            if (i==0 || j==0 || i==n-1 || j==n-1)
               a [i][j]=0;
            else
               a [i][j]=1;
            cout << " " << a[i][j];
        }
    cout << endl;
    }
    getch();
}
int main()
{ 
    zapros();
    cin>>n;
    set();
    return 0;
}
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:46  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #13
Да да да)) вот именно так)) спасибо огромное)))
препод задал решать, нифига не понимаю..( еще 2 надо как то решить((
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:47     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #14
Ну давай сюда

Добавлено через 44 секунды
А я сам изучаю)) еще даже не студент) мне 16, наверное в универе просто будет)
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:48  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #15
ниче се ты)) ну кому как) я, например, уже запарился)
Дан массив из n целых чисел. Найти первый максимум в этом массиве, а затем все числа до этого элемента упорядочить по возрастанию, а после — по убыванию.
тоже надо с использованием функции.
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 11:49     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #16
Сейчас подумаю подожди. Напишу когда готово будет

Добавлено через 23 секунды
Первый максимум? это просто максимум в массиве?
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 11:51  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #17
Хорошо..
да просто первый в массиве.
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 12:08     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #18
Вот написал)
Вообщем там она сама все покажет, проверь такую надо?
1) Можешь ввести такой массив: 4 3 2 1 9 1 2 3 4 и по задаче должно быть 1 2 3 4 9 4 3 2 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
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
#include<iostream>
using namespace std;
int a[100],n,maximum=-1000,coord;
void zapros()
{
     cout<<"Vvedite razmer massiva"<<endl;
}
void maxim()
{
     cout<<"Vvedite massiv iz "<<n<<" elementov:"<<endl;
}
void sh()
{
     cout<<"Maximum vydelen znakami '[' i ']'"<<endl;
}
void findmaxandenter()
{
    for(int i=0; i<n; ++i)
    {
            cin>>a[i];
            if(a[i]>maximum)
            {
                            maximum=a[i];
                            coord=i;
            }
    }
}
void dobig()
{
    for(int i=0; i<coord; ++i)
    {
            for(int j=0; j<coord; ++j)
            {
                    if(a[i]<a[j])swap(a[i],a[j]);
            }
    }
}
void dosmall()
{
    for(int i=coord+1; i<n; ++i)
    {
            for(int j=coord+1; j<n; ++j)
            {
                    if(a[i]>a[j])swap(a[i],a[j]);
            }
    }
}
void show()
{
    for(int i=0; i<n; ++i)
    {
            if(i==coord)
            {
            cout<<"["<<a[i]<<"] ";
            }
            else cout<<a[i]<<" ";
            
    }
    cout<<endl;
}
int main()
{
    zapros();
    cin>>n;
    maxim();
    findmaxandenter();
    dobig();
    dosmall();
    sh();
    show();
    system("pause");
}
Добавлено через 5 минут
Ау? ушел что ли?
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
26.05.2012, 12:13  [ТС]     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #19
Щас попробую) Спасибо))

Добавлено через 3 минуты
Это слишком сложно.. мы еще не проходили некоторые вещи..
допустим, с 64 по 72 строку вообще не понятно, что, как и зачем..)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2012, 12:16     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
26.05.2012, 12:16     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру #20
ахахах) это названия функций которые я сам создал))там выше же видишь void ? это создание функции и ей имя сам задаешь

Добавлено через 1 минуту
Ты же говорил с функциями написать вот это они и есть. Это просто имена (как у переменных)
Yandex
Объявления
26.05.2012, 12:16     Заполнить нулями элементы квадратной матрицы, расположенными по её периметру
Ответ Создать тему
Опции темы

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