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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2014, 13:22   #1
Daniyar22
Новичок
Джуниор
 
Регистрация: 19.05.2014
Сообщений: 8
По умолчанию одномерный массив. найти номера тех элементов массива, значения которых совпадают с числом 12 (Delphi)

помогите решить в дельфи!

условие задачи на одномерный массив


найти номера тех элементов массива, значения которых совпадают с числом 12
Daniyar22 вне форума Ответить с цитированием
Старый 19.05.2014, 13:40   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Что у вас вызывает сложности? Почему сами не можете решить?
Вадим Мошев вне форума Ответить с цитированием
Старый 19.05.2014, 13:44   #3
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Гуглится это запросом "Delphi поиск элемента в массиве".
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
a:array[1..10] of integer;
found:boolean;

begin
for i:=1 to 10 do
//Преобразуем полученные подстроки в числа
 a[i]:=StrToInt(GetSubStr(Edit1.text,' ',i)); //используем пробел в качестве разделителя


found:=false;
i:=1;
REPEAT
if a[i] = 12 then found:=true
 else i:=i+1;
UNTIL (i > 10) or (found = true);
if found then showmessage('Совпадение с элементом номер '+IntToStr(i));
end;
ATL вне форума Ответить с цитированием
Старый 20.05.2014, 09:04   #4
Daniyar22
Новичок
Джуниор
 
Регистрация: 19.05.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от ATL Посмотреть сообщение
Гуглится это запросом "Delphi поиск элемента в массиве".
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
a:array[1..10] of integer;
found:boolean;

begin
for i:=1 to 10 do
//Преобразуем полученные подстроки в числа
 a[i]:=StrToInt(GetSubStr(Edit1.text,' ',i)); //используем пробел в качестве разделителя


found:=false;
i:=1;
REPEAT
if a[i] = 12 then found:=true
 else i:=i+1;
UNTIL (i > 10) or (found = true);
if found then showmessage('Совпадение с элементом номер '+IntToStr(i));
end;
a[i]:=StrToInt(GetSubStr(Edit1.text,' ',i)); выдает ошибку
Daniyar22 вне форума Ответить с цитированием
Старый 20.05.2014, 09:11   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А почему бы и не быть ошибке? Нет такой функции. GetSubStr еще написать нужно или скопипастить например отсюда. За качество того кода не ручаюсь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.05.2014, 09:19   #6
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

И это тоже можно было нагуглить.
Код:
function GetSubStr(st:string; expl:string ;n:integer):string;
var p, i:integer;
Begin
  for i:= 1 to n-1 do
  begin
    p:=pos(expl, st);
    st:=copy(st, p+1, Length(st)-p);
    while (pos(expl, st) = 1) and (length(st) > 0) do
       delete(st, 1, 1);
  end;
  p := pos(expl,st);

  if p<>0 then result := copy(st, 1, p-1)
  else result := st;
End;
Либо Вы можете любым удобным способом изменить алгоритм программы, чтобы задать интересующий Вас одномерный массив.
Тут никто не знает откуда должен взяться одномерный массив. Здесь описан вариант с одним полем ввода, в которое через пробел вводятся числа.
Можете сделать 10 текстовых полей, можете сделать одно Memo и перебрать в нём строки, можете сгенерировать случайный массив и его проверять. Вариантов много.
ATL вне форума Ответить с цитированием
Старый 20.05.2014, 12:54   #7
Daniyar22
Новичок
Джуниор
 
Регистрация: 19.05.2014
Сообщений: 8
По умолчанию

а какая команда будет для вывода числа 12 в другой эдит
Daniyar22 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив X(N,M).Найти номера столбцов массива,все элементы которых четны. Из полученных значений сформировать одномерный массив. darwin1 Паскаль, Turbo Pascal, PascalABC.NET 3 16.03.2014 13:31
Заданный одномерный массив. Найти сумму элементов массива, которые удовлетворяют условию ( Delphi ) Святослав2703 Помощь студентам 5 03.07.2013 16:21
Вычислить сумму тех элементов списка, значения которых меньше значений всех элементов, непосредственно следующих за ними (Delphi) Liba Помощь студентам 6 30.11.2012 00:34
Вывести номера тех столбцов, сумма элементов которых меньше нуля, и число таких столбцов Half Помощь студентам 7 16.04.2012 21:23
Вычислить сумму элементов массива, порядковые номера которых совпадают со значением этого элемента. zzz6 Общие вопросы C/C++ 4 18.10.2011 03:19