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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 14:02   #1
MikeL 124 rus
Новичок
Джуниор
 
Регистрация: 09.05.2011
Сообщений: 4
По умолчанию Работа с массивом

Добрый день!Прошу вас помочь в написании одной програмки, пробовал сам, но к сожалению не чего хорошего не получилось!
Условие:Задана матрица NxM. Нужно получить массив B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, и значение 0 в противном случае

Заранее вам спасибо!
MikeL 124 rus вне форума Ответить с цитированием
Старый 09.05.2011, 14:42   #2
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию

Код:
#include <iostream>
#include <stdlib.h>
#include <locale.h>
#include <ctime>
bool check(int * &x,int &size)
{
  for (int i=0;i<size-1;i++)
    if (!(x[i] > x[i+1])) return false;
  return true;
}

int main()
{
  setlocale(LC_ALL,"");
  srand(time(NULL));
  int N,M;
  std::cout << "Введите N: ";
  std::cin >> N;
  std::cout << "Введите M: ";
  std::cin >> M;
  std::cout << endl;
  int ** matrix;
  bool * B;
  B = new bool [N];
  matrix = new int *[N];
  for (int i=0;i<N;i++)
    matrix[i] = new int [M];
  for (int i=0;i<N;i++)
    for (int j=0;j<M;j++)
      matrix[i][j] = rand()%20 + 1;
  for (int i=0;i<N;i++)
  {
     B[i] = check(matrix[i],N);
  }
  for (int i=0;i<N;i++)
    std::cout << B[i] << " ";
  delete[]B;
  for (int i=0;i<N;i++)
    delete[]matrix[i];
  delete[]matrix;
  return 0;
}
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Старый 09.05.2011, 14:49   #3
MikeL 124 rus
Новичок
Джуниор
 
Регистрация: 09.05.2011
Сообщений: 4
По умолчанию

Извиняюсь спросить вы мне код программы на каком языке дали?
MikeL 124 rus вне форума Ответить с цитированием
Старый 09.05.2011, 14:55   #4
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию

А вы на каком просили?
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Старый 09.05.2011, 15:00   #5
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

С++

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

struct Op
{
	template <typename T, size_t Rows>
	bool operator()(const T (&arr)[Rows]) const
	{
		return std::adjacent_find(arr, arr + Rows, std::less_equal<T>()) == arr + Rows;
	}
};

template <typename T, size_t Cols, size_t Rows>
void transform(const T (&m)[Cols][Rows], bool (&arr)[Cols])
{	
	std::transform(m, m + Cols, arr, Op());
}

int main()
{
	const size_t N = 4;
	const size_t M = 4;

	int m[N][M] =
	{
		{1,2,3,4},
		{3,2,1,0},
		{3,4,1,0},
		{3,3,1,0}
	};
	
	bool arr[N];
	transform(m, arr);

	setlocale(LC_ALL, "");
	std::copy(arr, arr+N, std::ostream_iterator<int>(std::cout, " "));

	return 0;
}
Проверка: http://codepad.org/0UNxpFc2
Rififi вне форума Ответить с цитированием
Старый 09.05.2011, 15:02   #6
MikeL 124 rus
Новичок
Джуниор
 
Регистрация: 09.05.2011
Сообщений: 4
По умолчанию

Мне вообще нужно на Дэлфи,но первый код я так понимаю тоже не делфи?Просто я смотрю и понять не могу его!
MikeL 124 rus вне форума Ответить с цитированием
Старый 09.05.2011, 15:05   #7
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
С++

Проверка: http://codepad.org/0UNxpFc2
Черт, думал написать что-то в этом роде, ТС-а пожалел...
ТС, указывайте язык при создании темы, телепаты в отпуске.
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Старый 09.05.2011, 15:09   #8
MikeL 124 rus
Новичок
Джуниор
 
Регистрация: 09.05.2011
Сообщений: 4
По умолчанию

Извините за мою не компетентность!Я так понимаю вы не чем не сможете мне помочь!?Я просто редко так на форумах сижу,просто программка эта мне уже весь мозг вынесла!
MikeL 124 rus вне форума Ответить с цитированием
Старый 09.05.2011, 15:49   #9
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от malinoff Посмотреть сообщение
Код:
     ...
     B[i] = check(matrix[i],N);
     ...
}
M
.......
Vago вне форума Ответить с цитированием
Старый 09.05.2011, 15:57   #10
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
for k:=1 to n do
begin
b[k]:=1;
for j:=1 to m-1 do 
if a[k,j]>a[k,j+1] then begin b[k]:=0;break;end;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивом Aleks2215 Microsoft Office Excel 10 04.11.2010 23:38
Работа с массивом program123 Помощь студентам 2 24.12.2009 17:20
работа с массивом s2dentishe Помощь студентам 2 12.12.2009 22:35
работа с массивом Андрей.12 Помощь студентам 2 22.10.2009 00:25
работа с массивом kritik Помощь студентам 10 22.07.2009 20:00