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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
eddilou
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
#1

Матрица-спираль - C++

14.03.2011, 19:05. Просмотров 2244. Ответов 1
Метки нет (Все метки)

всем привет
дано такое задание
Написать и протестировать функцию MtrSpiral(n), формирующую квадратную матри-цу n*n вида
1 1 1 … 1 1 2
4 5 5 … 5 6 2
4 8 9 … 10 6 2
… … … … … … …
4 8 12 … 11 6 2
4 8 7 … 7 7 2
4 3 3 … 3 3 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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int **MtrSpiral(int n)
{
 int **arr;
 int i, j;
 arr=(int**)malloc(n*sizeof(int*));
 for(i=0; i<n; i++)
 {arr[i]=(int*)malloc(n*sizeof(int));
  for(j=0; j<n; j++)
  {arr[i][j]=random(25)+1;}
  }
 return (arr);
}
void MtrPrintf(int **arr, int n)
{
 for(int i=0; i<n; i++)
 {for (int j=0; j<n; j++)
  {
   printf("%4d", arr[i][j]);
  }
 printf("\n");
 }
}
 
void main()
{
do{
 clrscr();
 int n;
 int **arr;
 printf("vvedite razmer matrici \nn=");
 scanf("%d",&n);
 arr=MtrSpiral(n);
 printf("Programma napechataet matricu n*n spiralniuy\n");
 MtrPrintf(arr, n);
 printf("\nPovtorit li? yes/no (Anykey/ESC)");
 }
 while(getche()!=27);
}
я не знаю каким образом сделать так чтоб матрица была спиральная как в задании... помогите плиз.. мне интересно самому как так сделать понять и разобраться

Добавлено через 21 минуту
разве никто не знает как сделать???..
хотя бы алгоритм ..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 19:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица-спираль (C++):

Логарифмическая спираль - C++
люди помогите плиз я в си++ совсем туп а мне задали в универе написать прогу которая строит логарифмическую спираль, создать зум для этого...

спираль архимеда - C++
Наткнулся на задачку, битый час голову ломаю, суть задачи такова, с++ построить спираль архимена из чисел формата 30 29 28 27 26 25 31...

Спираль Улама C++ - C++
Помогите найти ошибку. Пытаюсь заставить программу выводить числа по спирали, замену простых чисел на значки не делал. #include...

Рекурсия c ++ Спираль! - C++
Здравствуйте! Помогите решить задачу! Используя рекурсию.... http://s003.***********/i202/1110/9f/cbca2e936243.jpg

Спираль Улама - C++
Помогите пожалуйста, на языке си написать программу спираль Улама.Ввести рандомную матрицу и вместо простых чисел оставить*,а вместо...

Спираль-Перевод(ОТЛАДКА) - C++
Здрасьте. не могу понять , почему при запуске проги на Codelite &gt; выводит ошибки постоянно . Суть программы , вывод квадратной матрицы...

1
IrineK
Заблокирован
15.03.2011, 20:20 #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
#include <stdio.h>
#include <conio.h>
#define N 12
 
int main()
{   int spiral[N][N];
    int i,j,k, edge, num = 0;
    for(k=0; k<N/2;k++) //слои
    {   edge = N-1-k;
        num++;
        for(j=k;j<edge;j++)     
            spiral[k][j]=num;
        num++;
        for(i=k;i<edge;i++)     
            spiral[i][edge]=num;
        num++;
        for(j=edge;j>=k;j--)    
            spiral[edge][j]=num;
        num++;
        for(i=edge;i>k;i--)     
            spiral[i][k]=num;
    }
    
    if(N%2) //если N-нечетное дополнить центральным элементом
    {   num++;
        spiral[N/2][N/2]=num;
    }
 
    for(i=0;i<N;i++)
    {   for(j=0;j<N;j++) printf("%6d",spiral[i][j]);
        printf("\n");
    }
 
    getch();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2011, 20:20
Привет! Вот еще темы с ответами:

Построить гиперболическую спираль - C++
Здравствуйте. Задание следующее - построить гиперболическую спираль (r = a × j1/2 + d) в полярной системе координат. Дело в том, что я...

Задачка, в c++, спираль архимеда - C++
пользователь вводит число n, необходимо построить спираль архимеда, квадратную, вот такого вида, через двухмерный массив. .. .. 9 2 1 8...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Класс, определяющий Архимедову спираль - C++
До этого не сталкивался с ООП, поэтому имею некоторые затруднения в понимании. Вообщем, необходимо разработать класс определяющий...


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

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

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