Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 9
1

Движение по матрице

15.11.2012, 23:04. Показов 3103. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите реализовать задачу пожалуйста(желательно не используя функций).
Дана действительная квадратная матрица размера n. Расположить
элементы матрицы следующим образом:
Скриншот.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2012, 23:04
Ответы с готовыми решениями:

Движение планеты в системе двойной звезды или движение трех тел
программа должна выводить координаты движения звезд и планеты в файл (рисую в gnuplot). ...

Движение фигуры квадрата по матрице
Господа демократы,что - то не получается перемещение квадрата из 4-х нулей по матрице ,состоящей...

Возможно ли сделать движение зрачков, реагирующее на движение какого-либо объекта
Вообщем благодаря модеру удалось разукрасить картинку,за что ему спасибо. Нужна анимация для нее....

Вращательное движение (движение бусины по спице перпендикулярно оси вращения)
В учебниках хорошо рассмотренно движение материальной точки при круговом вращении, однако не...

5
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
15.11.2012, 23:25 2
Посмотри в поиске заполнение матрицы змейкой или здесь https://www.cyberforum.ru/visu... d3621.html
0
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 9
16.11.2012, 00:25  [ТС] 3
Цитата Сообщение от David Sylva Посмотреть сообщение
Посмотри в поиске заполнение матрицы змейкой или здесь https://www.cyberforum.ru/visu... d3621.html
А если мне это нужно реализовать методом указатель на указатель, то как нужно подправить вот этот код:
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
int const n=11;
 int A[n][n];
 int i=1,j,k,p=n/2;
 for(k=1;k<=p;k++)/*Цикл по номеру витка*/
 {
 for (j=k-1;j<n-k+1;j++) A[k-1][j]=i++;/*Определение значений верхнего гор столбца*/ 
 for (j=k;j<n-k+1;j++) A[j][n-k]=i++;/* --//-- По правому вертикальному столбцу*/
 for (j=n-k-1;j>=k-1;--j) A[n-k][j]=i++;/* --//-- по нижнему горизонтальному столбцу*/ 
 for (j=n-k-1;j>=k;j--) A[j][k-1]=i++;/* --//-- по левому вертикальному столбцу*/
 }
 if (n%2==1) A[p][p]=n*n;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
  {
   printf(" %4d ",A[i][j]);
   if(j==n-1) printf("
");
  }   
}
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
16.11.2012, 00:39 4
Цитата Сообщение от SerJ94 Посмотреть сообщение
методом указатель на указатель
Что за метод такой интересный? Выражайся ясней.
0
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 9
16.11.2012, 17:02  [ТС] 5
Цитата Сообщение от David Sylva Посмотреть сообщение
Что за метод такой интересный? Выражайся ясней.
ну использовать нужно, указатель на указатель...
0
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 9
18.11.2012, 16:04  [ТС] 6
В общем я всё реализовал вот так:
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
#include<stdio.h>
#include<locale.h>
 
#define n 5
#define m 5
 
int main()
{
    setlocale(LC_ALL,"russian");
    int mass[n][m];
    int k=0, c=1;
    while (c<=m*n){  // Пока число не станет равно произведению высоты и ширины
        k++; // коэффициент на который будет "сужать стенки массива, для построения спирали"
        for (int j=k-1;j<=m-k;++j){ // Заполнение по горизонтали слева направо
            if (c<=m*n){
                mass[k-1][j]=c;  
                c++;                 
            }
        }
 
        for (int j=k; j<=n-k;++j){  //Заполнение по вертикали сверху вниз
            if (c<=m*n){
                mass[j][m-k]=c;
                c++;                 
            }
        }
        for (int j=m-k-1; j>=k-1;j--){ //Заполнение по горизонтали справа налево
            if (c<=m*n){
                mass[n-k][j]=c;
                c++;
            }
        }
        for(int j=n-k-1; j>=k;j--){ //Заполнение по вертикали снизу вверх
            if (c<=m*n){
                mass[j][k-1]=c;
                c++;
            }                     
        }
    }
    printf("\nСформированная матрица:\n");          //вывод отсортированного массива
    for(int i=0;i<n;i++)
    {
        printf("\n");
        for(int j=0;j<m;j++)
            printf("%5d",mass[i][j]);
    }
    printf("\n");
}
А как теперь сделать запрос на ввод размерности матрицы?
0
18.11.2012, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2012, 16:04
Помогаю со студенческими работами здесь

Сформировать меню: 1) свободное движение объекта 2)движение с клавиатуры
Сформировать на экране меню, состоящее из следующих пунктов: 1. Движение вдоль периметра экрана....

Движение спутника. Движение точки по эллипсу в c++ builder
Здравствуйте, есть код программы, который строит движение точки по эллипсу. Для этого...

Анимация: движение спутника, движение планет
Составьте программу, которая демонстрирует: а) прямолинейное движение спутника на фоне неба и...

Как привести матрицу к унитреульной матрице или верхней треугольной матрице?
Как привести матрицу к унитреульной матрице или верхней треугольной матрице? Добавлено через 14...


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

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