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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2011, 13:04   #1
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию массив.

помогите пожалуйста. нужно сделать на языке паскаль.Дан одномерный массив,состоящий из n целых элементов.Преобразовать его таким образом,чтобы сначала распологались все положительные элементы,потом отрицательные.элементы равные 0 считать положительными.Порядок следования элементов должен сохраняться.заранее спасибо

Последний раз редактировалось Nastya2406; 30.05.2011 в 14:12.
Nastya2406 вне форума Ответить с цитированием
Старый 30.05.2011, 13:45   #2
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

быстренько быстренько написал чушь вот такую - спешу защищать дипломную работу
Код:
var p,o:string;a:array[1..6] of integer;i,v:integer;
begin
 write('Введите 6 чисел для массива: ')
 for i:=1 to 6 do
  begin
   Readln(v);
   a[i]:=v;
   Writeln('a[',i,']= v',v);
  end; 
 for i:=1 to 6 do
 begin
  if (a[i]>0 or a[i]=0) then p:=p+inttostr(a[i]);
  if a[i]<0 then o:=o+inttostr(a[i]);
 end; 
 for i:=1 to length(p) do a[i]:=strtoint(p[i]);
 for i:=length(p) to length(o) do a[i]:=strtoint(o[i]);
kakawkin вне форума Ответить с цитированием
Старый 30.05.2011, 13:47   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
(a[i]>0 or a[i]=0)
эквивалентно a[i]>-1, а вместо второго условия можно и даже нужно использовать ветвь else
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 30.05.2011, 13:50   #4
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию

совсем не то кажись...дан же целочисленный массив...

Последний раз редактировалось Nastya2406; 30.05.2011 в 14:11.
Nastya2406 вне форума Ответить с цитированием
Старый 30.05.2011, 13:54   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Дан одномерный массив
Вы уж определитесь, что там в задании. Для справки: матрица это двухмерный массив...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 30.05.2011, 13:55   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Дан одномерный массив,состоящий из n целых элементов.Преобразовать его таким образом,чтобы сначала распологались все положительные элементы,потом отрицательные.элементы равные 0 считать положительными.Порядок следования элементов должен сохраняться.

в программе массив заполнен случайно, n = 10
если нужно заполнять вручную, сделаешь это сама.

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

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

struct R
{
	int operator()() const
	{
		return rand() % 21 - 10;	// -10 .. 10
	}
};

typedef std::vector<int> V;

std::ostream& operator<<(std::ostream& os, const V& v)
{
	typedef std::ostream_iterator<V::value_type> O;
	std::copy(v.begin(), v.end(), O(os, " "));
	return os;
}

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

	V v(10);
	std::generate(v.begin(), v.end(), R());

	std::cout << v << std::endl;

	std::stable_partition(v.begin(), v.end(), std::bind2nd(std::greater<int>(), 0));

	std::cout << v << std::endl;

	return 0;
}
Пример работы программы: http://liveworkspace.org/code/afa3f1...60b8a36a145b71
Rififi вне форума Ответить с цитированием
Старый 30.05.2011, 13:58   #7
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию

вообще то я знаю.задание правильное

Rififi это разве паскаль?а можно на паскале

Последний раз редактировалось Stilet; 30.05.2011 в 14:39.
Nastya2406 вне форума Ответить с цитированием
Старый 30.05.2011, 14:07   #8
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Nastya2406

Rififi это разве паскаль?

Нет, не паскаль, а зачем он? Ты кролега упоминание о паскале где-нибудь видишь в своём исходном сообщении? И я не вижу. А значит предполагаю, что задание можно выполнить на любом понравившемся языке программирования.

а можно на паскале

неа. он мне не нравится.
Rififi вне форума Ответить с цитированием
Старый 30.05.2011, 14:08   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Nastya2406 Посмотреть сообщение
вообще то я знаю.задание правильное
Это хорошо . Но в следующий раз когда слово матрица будете исправлять на слово массив, поправьте пожалуйста все предложение, а то
Цитата:
совсем не то кажись...дана же целочисленная массив...
еще больше запутывает.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 30.05.2011, 14:36   #10
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию

ну пожалуйста помогите(((((((
Nastya2406 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W leha_demi Помощь студентам 2 24.09.2011 18:12
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02
Как конвертировать массив символов в массив байт davinci C++ Builder 6 30.10.2010 18:09
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06