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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 22:41   #1
Wast
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 14
По умолчанию передача двумерных массивов в функцию

Осуществить циклический сдвиг элементов в прямоугольной матрице на n элементов вниз,n может быть больше количества элементов в строке
Код:
#include <iostream.h>
#include <iomanip.h>
//fsfrfe
int **sdvig (int n,int nrow,int **a)
{
int vp;
for (int k=1; k<=n; k++);
{
vp=a[nrow-1][0];
for (int i=nrow-1; i>0; i--)
{
a[i][0]=a[i-1][0];
};
a[0][0]=vp;
};
return a;
};
//dffs
int main ()
{
int n;
cout<<"Vvedite sdvig elementov= \n";
cin>>n;
int nrow,ncol;
cout<<"\nVvedite kolichestvo strok i stolbzhov: \n";
cin>>nrow>>ncol;
int i,j;
int **a= new int *[nrow];
//fdfdasdf
for (i=0; i<nrow; i++)
a[i]= new int [ncol];
cout<<"\nVvedite elementi massiva: "<<endl;
for (i=0; i<nrow; i++)
for ( j=0; j<ncol; j++)
cin>>a[i][j];
//sff
for (i=0; i<nrow; i++)
{
for (j=0; j<ncol; j++)
cout<<setw(4)<<a[i][j]<<" ";
cout<<endl;
};
**a = **sdvig(n,nrow,a);//sffede
cout<<"\nSdvinytaya matriza: \n"<<endl;
for (i=0; i<nrow; i++)
{
for (int j=0; j<ncol; j++)
cout<<setw(4)<<a[i][j]<<" ";
cout<<endl;
};
return 0;
}
Если не трудно посмотрите почему не происходит цыклический сдвиг

Последний раз редактировалось MaTBeu; 05.05.2009 в 16:58.
Wast вне форума
Старый 04.05.2009, 22:55   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Неверно вы это все делаете.
Вот. Разбирайтесь.

Код:
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <time.h>
//fsfrfe
int **sdvig (int n,int nrow,int ncol,int **a)
{
int vp;
if(n>=nrow) n = n%nrow;

for(int j=0; j<ncol; j++)
 {
  for(int k=0; k<n; k++)
  {
   vp = a[nrow-1][j];
   for(int i=nrow-1; i>=1; i--)
    a[i][j] = a[i-1][j];
   a[0][j] = vp;
  }
 }

};


//dffs

int main ()
{
int n;
srand(time(NULL));
cout<<"Vvedite sdvig elementov= \n";
cin>>n;
int nrow,ncol;
cout<<"\nVvedite kolichestvo strok i stolbzhov: \n";
cin>>nrow>>ncol;
int i,j;
int **a= new int *[nrow];
//fdfdasdf
for (i=0; i<nrow; i++)
  a[i]= new int [ncol];
//cout<<"\nVvedite elementi massiva: "<<endl;
for (i=0; i<nrow; i++)
 {
  for ( j=0; j<ncol; j++)
   {
    //cin>>a[i][j];
    a[i][j] = rand()%20;
    cout.width(4);
    cout<<a[i][j];
   }
   cout<<endl;
 }
//sff

sdvig(n,nrow,ncol,a);//sffede
cout<<"\nSdvinytaya matriza: \n"<<endl;
for (i=0; i<nrow; i++)
 {
 for (int j=0; j<ncol; j++)
  cout<<setw(4)<<a[i][j]<<" ";
 cout<<endl;
 };
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 04.05.2009, 23:04   #3
Wast
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 14
По умолчанию

Cпасиба щас будем разбиратся
Wast вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массивов в функции. Си Alar Общие вопросы C/C++ 12 08.02.2011 13:25
Передача массива в функцию Vistar Общие вопросы C/C++ 1 27.04.2009 08:08
передача указателя в функцию arturka Помощь студентам 3 06.07.2008 00:25
Заполнение двумерных массивов(Basic) mde Помощь студентам 1 30.05.2008 09:23
Программирование операций обработки двумерных массивов Дима82 Помощь студентам 16 12.05.2008 21:33