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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2007, 21:06   #1
маршка
Подтвердите свой е-майл
 
Регистрация: 27.11.2007
Сообщений: 2
Восклицание помогите решить одномерный массив!

Дан вектор Р(13). Если отрицательных элементов в векторе больше, чем положительных, то упорядочить вектор по возрастанию, иначе оставить без изменения.
Нужно составить программу в pascal и сделать болк-схему...
маршка вне форума Ответить с цитированием
Старый 28.11.2007, 10:16   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

1. Цикл от 1 до 13 - считаем кол-во "+" и кол-во "-".
2. Если "+" < "-", то Сортировка.
Alex21 вне форума Ответить с цитированием
Старый 28.11.2007, 14:18   #3
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
Радость решение

Код:
program v;
uses crt;
const n =13;
type vector = array[1..n] of integer;
var a:vector;
    i:integer;
    kol1:integer;   {pologit}
    kol2:integer;
    buf:integer;
    min:integer;
    j:integer;
begin
  randomize;
  clrscr;
  for i := 1 to n do
begin
  a[i] := random(10) - 5;
  write(a[i],' ');
end;
writeln;
  for i:= 1 to n do
begin
  if a[i] > 0
  then
  inc(kol1)
  else
  inc(kol2);
end;
  if kol1 < kol2
  then
begin
  write(a[i],' ');
end;
  if kol1 > kol2
  then
begin
  //сортировка вектора
    for i:= 1 to n-1 do
begin
    for j:=i+1 to n do
    if a[j] < a[min]
    then
    min:=j;
    buf:=a[i];
    a[i]:=a[min];
    a[min]:=buf;
end;
   for i:= 1 to n do
begin
  write(a[i],' ' );
end;
  writeln;
end;
 readln;
end.
I like WPF
kommunist вне форума Ответить с цитированием
Старый 28.11.2007, 14:26   #4
Rapid
Форумчанин
 
Аватар для Rapid
 
Регистрация: 01.09.2007
Сообщений: 747
По умолчанию

А можно еще так
Код:
program ConsTemplate;

{$APPTYPE CONSOLE}

// Шаблон консольного приложения
// В шаблоне есть:
//  1. Русификатор (Функция Rus)
//  2. Написан раздел переменных (можно неутруждать себя написанием слова var
//  3. Шаблон с названием и описанием программы
// Все это облегчает создание консольных приложений (Особенно небольших)


function Rus(mes: string):string;  // Начало функции русификатора
     var
        ICharNumber: integer; // номер обрабатываемого символа
    begin
        for ICharNumber:=1 to length(mes) do
           case mes[ICharNumber] of
              'А'..'п' : mes[ICharNumber]:=Chr(Ord(mes[ICharNumber]) - 64);
              'р'..'я' : mes[ICharNumber]:=Chr(Ord(mes[ICharNumber]) - 16);
           end;
        rus:=mes;
    end; // Конец функции русификатора

var
  SHelloString : String;
  SComment : String;
  SEnd : String; //Конец области переменных шаблона..................
  Arr  : array[1..13] of real;
  i : integer;
  N : integer;
  buf : real;
  changed : boolean;
begin //Область задания шаблона......................................
  SHelloString:='My Console'; //Идентификатор консолей, созданных мной
  SEnd:='Для завершения нажмите <Enter>';
    SHelloString:=SHelloString+'';//Название приложения
    SComment:='';//Комментарий
  writeln( Rus(SHelloString) );
  writeln(Rus(SComment));
//Основной текст программы начинается в этом месте .............................
 N:=0;
 for  i:=1  to 13 do
 begin
   readln(Arr[i]);
    if Arr[i]<0 then
    begin
      Inc(N);
    end;
  end;


if N>=7 then
begin
 repeat
  Changed:=FALSE;
  for i:=1 to 12 do
    if arr[i] > arr[i+1] then
      begin
      buf := arr[i];
      arr[i] := arr[i+1];
      arr[i+1] := buf;
      changed := TRUE;
    end;
 until not Changed;
end;

Writeln(Rus('Вывод массива'));

  for  i:=1  to 13 do
  begin
    writeln(arr[i]:2:2);
  end;


//Здесь заканчивается основная программа .......................................
    write( Rus(SEnd) ); //Стандартное завершение
    readln(SComment);
end.
Никому не верьте.
Rapid вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA. Одномерный массив ExMatiss Microsoft Office Excel 9 07.05.2008 05:57
одномерный массив fatdog Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 23.02.2008 10:05
помогите преобразовать одномерный массив kitty Помощь студентам 1 29.11.2007 21:58
помогите решить одномерный массив маршка Помощь студентам 1 27.11.2007 23:13
Помогите пожалуйста!!! С использованием функции Random сформировать одномерный массив Vanya_www_333 Помощь студентам 1 17.08.2007 13:38