Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 21:17   #1
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию Матрица спираль

Вот только начал с++ изучать, дали задачку-заполнить матрицу по спирали. Проблема-не хочет элементам присваивать значения пишет: [BCC32 Error] File1.cpp(44): E2034 Cannot convert 'int' to 'int *'
Ошибку в коде подчеркнул.

вот сам код:
Код:
//---------------------------------------------------------------------------

#include <stdio.h>
#pragma hdrstop

#include <tchar.h>
//---------------------------------------------------------------------------

#pragma argsused
#include <iostream>

using namespace std;




int _tmain(int argc, _TCHAR* argv[])
{
int side1,side2,vals;
cout<<"Enter the begin number:";
cin>>vals;
cout<<"/n";
cout<<"Enter side1:";
cin>>side1;
cout<<"/n";
cout<<"Enter side2:";
cin>>side2;
cout<<"/n";
cout<<"/n";

int **matric=new int*[side1];
  for(int i=0;i<side1;i++)
  {matric[i]=new int[side2];
  }

   int ident, hodok, ident2;

   ident=0; ident2=0;

   while(ident < side1*side2)
   {ident2++;
	for(hodok=ident2;side2-ident2+1;hodok++)
	{ident++;
	matric[ident2,hodok]=vals;
	vals++;
	}

	for(hodok=ident2+1;side1-ident2+1;hodok++)
	{ident++;
	matric[hodok,side2-ident2+1]=vals;
	vals++;
	}

	for(hodok=side2-ident2;ident2;hodok--)
	{ident++;
	matric[side1-ident2+1,hodok]=vals;
	vals++;
	}

	for(hodok=side1-ident2;ident2+1;hodok--)
	{ident++;
	matric[hodok,ident2]=vals;
	vals++;
	}

	for(ident=1;side1;ident++)
	{for(hodok=1;side2;hodok++)
	{cout<<matric[ident,hodok]<<" ";
	cout<<"/n";}
	}

	}

	return 0;
}
//---------------------------------------------------------------------------
проще мне было уже алгоритм не придумать... Помогите пожалуйста, я третий день вишу на этой гадости =(
P.S. : Поздравьте меня я поступил в СПБГУ =)
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Старый 16.09.2010, 22:43   #2
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию

Формализую проблему чётче: как мне преобразовать тип int в тип int* динамического массива?
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Старый 17.09.2010, 22:27   #3
kogemrka
Форумчанин
 
Аватар для kogemrka
 
Регистрация: 08.01.2010
Сообщений: 165
По умолчанию

Как минимум вот так в C делать нельзя:
Код:
matric[ident2,hodok]
Надо так:
Код:
matric[ident2][hodok]
PS.
Раз уж пишешь в C++ и нужны динамические массивы, почему бы не использовать std::vector и не извращаться с указателями?
kogemrka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Спираль radon228 Помощь студентам 0 16.05.2010 17:08
Обход ячеек по спираль с произвольным центром. iness Помощь студентам 6 16.11.2009 10:09
логарифмическая спираль с++ salmanov Помощь студентам 0 23.06.2009 21:17
как написать программу в Graphе,чтобы он рисовал спираль архимеда Pafnutiya Паскаль, Turbo Pascal, PascalABC.NET 1 07.10.2007 20:40