Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 5

Дубликаты в массиве

24.03.2017, 11:49. Показов 1244. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят с ума сойду не понимаю как сделать чтоб заработала, нужно работать с этим кодом
Задача, в первый столб вывести рандомные значения, во второй столбец переписать этиже значения без дубликатов, вот с дубликатами проблема, не верные значения выводит
А самое интересно что аналогичный код работает в VBA

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var
  Form1: TForm1;
 i,n,k,j,m:integer;
  x,y,z:array of integer;
   p:boolean;
 
implementation
 
{$R *.dfm}
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  n:=strtoint(edit1.Text);
  setlength (x,n);
  setlength (y,n);
  with stringgrid1 do
  for i:=1 to n do       // заполнение массива
    begin
      RowCount:=n+1;
      x[i]:=random(n);
      StringGrid1.Cells[0,i]:=inttostr(x[i]);
  end;
    k:=0;
           for i:=1 to n do
           begin
              p:=false;
              for j:=1 to k do
                 begin
                    if x[i]=y[j] then
                    p:=true;
                       if p then break else continue
                 end;
              if not p then k:=k+1; y[k]:=x[i];
            end;
for i:=1 to k do StringGrid1.Cells[1,i]:=inttostr(y[i]);
end;
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2017, 11:49
Ответы с готовыми решениями:

Метод убирающий дубликаты в массиве
using System; namespace ArraysTest { class Program { static void Main(string args) { ...

Удалить дубликаты в двумерном массиве
Здравствуйте, есть задача - удалить повторяющиеся значения в двумерном массиве массиве. Как это можно реализовать, при условии, что строк в...

Удалить дубликаты в массиве и отсортировать его
Есть строки: a,b,b,c,d,c Нужно получить результат: a,b,c,d

3
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
24.03.2017, 13:06
Лучший ответ Сообщение было отмечено spectre14 как решение

Решение

Вот работает если задание правильно понял
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure TForm1.Button1Click(Sender: TObject);
begin
  n:=strtoint(edit1.Text);
  setlength (x,n);
  setlength (y,n);
  with stringgrid1 do
  for i:=1 to n do       // заполнение массива
    begin
      RowCount:=n+1;
      x[i]:=random(n);
      StringGrid1.Cells[0,i]:=inttostr(x[i]);
  end;
    k:=0;
           for i:=1 to n do
           begin
              p:=false;
              for j:=1 to k do
                 begin
                    if x[i]=y[j] then
                    p:=true;
                       if p then break else continue
                 end;
              if not p then
                begin
                   k:=k+1; y[k]:=x[i];
                end;
            end;
 
  for i:=1 to k do StringGrid1.Cells[1,i]:=inttostr(y[i]);
 
end;
1
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
24.03.2017, 13:12
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.FormCreate(Sender: TObject);
begin
 Randomize;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
    L : TStringList;
begin
//Заполнили 1-й столбец
 for i := 0 to 9 do
  StringGrid1.Cells[0, i] := IntToStr(RandomRange(1, 10));
//2-й столбец
 L := TStringList.Create;
 for i := 0 to 9 do
  if L.IndexOf(StringGrid1.Cells[0, i]) = -1
   then L.Add(StringGrid1.Cells[0, i]);
 StringGrid1.Cols[1].Text := L.Text;
 L.Free;
end;
Миниатюры
Дубликаты в массиве  
1
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 5
24.03.2017, 13:17  [ТС]
Zombi_sib, спасибо, работает!
вы только обозначили begin end ?
досадно, ведь я мозговал это сутки.
D1973 спасибо за вариант, это для меня новый способ , буду разбирать )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2017, 13:17
Помогаю со студенческими работами здесь

Найти дубликаты в двумерном массиве по парам
10 20 12 20 10 20 14 20 15 30 количество пар = 2 int temp = 0; for (int i = 0; i < a; i++) for (int j = 0; j...

Удалить дубликаты массивов в двумерном массиве?
Помогите удалить дубликаты массивов в двумерном массиве в одномерном будет так: l = print(list(set(l))) а в двумерном...

Дубликаты в строковом массиве -исправить ошибку в коде
Здравствуйте, пишу программу не большую, столкнулся с, вроде, и простой проблемой, по логике код должен работать, почему этот код не...

Вывести дубликаты элементов в массиве случайных чисел
Привет. помогите пожалуйста разобраться. Задача: вывести в консоль дубликаты чисел в массиве случайных чисел в диапазоне от 50 до 70. ...

Написать программу, удаляющую дубликаты строк в двумерном массиве
Помогите пожалуйста разобраться с программой: Дан двумерный массив. Рассматривая его построчно, написать программу, удаляющую дубликаты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru