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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 16:28   #1
lady.ulumba
Пользователь
 
Регистрация: 08.09.2011
Сообщений: 39
По умолчанию Функции в Си++

Задана матрица Q(5,5). Заменить последний нуль в каждой строке на 5.
Оформить ее решение в виде функции

PHP код:
//---------------------------------------------------------------------------
#include <clx.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
#pragma argsused
int matrix(int **Q,const int m,const int n);
int main(int argccharargv[])
int i,j,m=5,n=5;
  
int **Q=new int *[m];
  
cout<<"Vvesti elementi matrici"<<"\n";
  for(
i=0;i<m;i++)
  
Q[i]=new int[n];
  for(
i=0;i<m;i++)
  for(
j=0;j<n;j++)
  
cin>>Q[i][j];
  
cout<<"\n";
  
cout<<"Otvet:"<<"\n";
  
Q[i][j]=matrix(Q,m,n);
  
getch();
  return 
0;
  }
  
int matrix(int **Q,const int m,const int n)
 {
  
int i,j,k;
  for(
i=0;i<n;i++)
  {
  for(
j=(m-1);j>=0;j--)
  {
  if(
Q[i][j]==0) {Q[i][j]=5; break;}
  }
  }
  for(
i=0;i<m;i++)
  {
  for(
j=0;j<n;j++)
  {
  
cout<<Q[i][j]<<"\t";
  }
  
cout<<"\n";
  }
  return 
Q[i][j];
  }
//--------------------------------------------------------------------------- 
Когда запускаю, не всегда меняет там, где нужно.
lady.ulumba вне форума Ответить с цитированием
Старый 29.11.2011, 17:41   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

lady.ulumba

Заменить последний нуль в каждой строке на 5.

Код:
#include <iostream>
#include <locale>
#include <iterator>

#include <algorithm>

#include <stdlib.h>
#include <time.h>

struct replace_to
{
	template <typename T, size_t N>
	void operator()(T (&arr)[N]) const
	{
		typedef std::reverse_iterator<T*> I;

		const I begin(arr+N), end(arr);
		const I found = std::find(begin, end, 0);
		if (found != end)
			*found = 5;
	}
};

struct R
{
	int operator()() const
	{
		return rand() % 4;
	}
};

template <typename T, size_t Cols, size_t Rows>
void print(const T (&m)[Cols][Rows])
{
	typedef std::ostream_iterator<T> O;
	for (size_t i=0; i<Cols; i++)
	{
		std::copy(m[i], m[i] + Rows, O(std::cout, "\t"));
		std::cout << std::endl;
	}
}

int main()
{
	setlocale(LC_ALL, "");
	srand((unsigned) time(NULL));

	int q[5][5];
	std::generate(q[0], q[0] + 5*5, R());
	
	print(q);
	std::for_each(&q[0], &q[0] + 5, replace_to());
	
	std::cout << std::endl;
	print(q);

	return 0;
}
Пример работы: http://codepad.org/3nIdJYuB
Rififi вне форума Ответить с цитированием
Старый 30.11.2011, 16:33   #3
lady.ulumba
Пользователь
 
Регистрация: 08.09.2011
Сообщений: 39
По умолчанию

У Вас не верно. Во 2-ой строке в 4-ом столбце 0 поменялся на 5. И в 5-ой строке в 4-ом столбце также.

Последний раз редактировалось lady.ulumba; 30.11.2011 в 16:45.
lady.ulumba вне форума Ответить с цитированием
Старый 30.11.2011, 21:30   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

lady.ulumba

Цитата:
Заменить последний нуль в каждой строке на 5.
У Вас не верно. Во 2-ой строке в 4-ом столбце 0 поменялся на 5. И в 5-ой строке в 4-ом столбце также.

Солнышко, а Вы уверены, что правильно понимаете значение прилагательного "последний"?
Rififi вне форума Ответить с цитированием
Старый 01.12.2011, 19:05   #5
lady.ulumba
Пользователь
 
Регистрация: 08.09.2011
Сообщений: 39
По умолчанию

Спасибо.Я поняла.
lady.ulumba вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача функции другой функции как аргумента C # stopanko C# (си шарп) 2 20.11.2011 13:13
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07