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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2014, 20:42   #1
schibeki
Пользователь
 
Регистрация: 27.11.2013
Сообщений: 67
По умолчанию массив

Всем привет,помогите с задачей,пожалуйста,вот условие:Дан целочисленный массив размера N(отсортированный по возрастанию или по убыванию).
Найти количество различных элементов в данном массиве.
Вот собственно код паскалевский,но элементы не отсортированы:
Код:
 
program Array47;
var
R:integer; // количество различных элементов в данном массиве. 
N:integer;
j,i:integer; // счетчики в цикле 
a: array [1..10] of integer;
bol:boolean; // флаг нахождения элемента 
begin
// ввод данных 
writeln('Введите N (N<=10)');
readln(N);
// ручной ввод значений массива 
for i:=1 to n do begin write('a[',i,']=');readln(A[i]);end;
R:=0; // присвоение начального значения 
for i:=1 to n-1 do // цикл для прохождения по массиву 
begin
bol:=true; // присвоение начального значения 
for j:=i+1 to n do
begin
if (a[i]=a[j])and(i<>j) then bol:=false; //цикл для проверки элементов от определяемого до конца массива. 
end;
if bol then inc(R); // если элемент неимеет похожих элементов подсчитываем его 
end;
// вывод результата 
writeln('количество различных элементов = ',R);
end.
ПОмогите сделать на делфи. я просто не знаю как и куда можно вывести массив.
schibeki вне форума Ответить с цитированием
Старый 10.02.2014, 21:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

массив в Delphi достаточно наглядно выводится (и вводится, кстати, тоже) через компонент TStringGrid


p.s. а зачем Вам НЕОТСОРТИРОВАННЫЙ массив, если в условиях задачи чётко и однозначно даётся ОТСОРТИРОВАННЫЙ?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.02.2014, 22:11   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
R:integer; // количество различных элементов в данном массиве.
N:integer;
j,i:integer; // счетчики в цикле
a: array [1..10] of integer;
bol:boolean; // флаг нахождения элемента
begin
// ввод данных
n:=StrToInt(InputBox('Введите N (N<=10)','','0'));
// ручной ввод значений массива
for i:=1 to n do begin A[i]:=StrToInt(InputBox(format('a[%d]',[i]),'','0')); end;
R:=0; // присвоение начального значения
for i:=1 to n-1 do // цикл для прохождения по массиву
begin
bol:=true; // присвоение начального значения
for j:=i+1 to n do
begin
if (a[i]=a[j])and(i<>j) then bol:=false; //цикл для проверки элементов от определяемого до конца массива.
end;
if bol then inc(R); // если элемент неимеет похожих элементов подсчитываем его
end;
// вывод результата
ShowMessage('количество различных элементов = ',R);

end;

end.
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2014, 10:04   #4
schibeki
Пользователь
 
Регистрация: 27.11.2013
Сообщений: 67
По умолчанию

Идея ясна,как сделать сортировку именно в данном массиве?
schibeki вне форума Ответить с цитированием
Старый 11.02.2014, 10:52   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попытки поиска примеров сортировки были?
Скажет тут: http://www.programmersforum.ru/showthread.php?t=193547
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02