Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Номера строк массива с одинаковыми элемен 
V
    Опции темы
marika1
Дата 10.1.2015, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.5.2013

Репутация: нет
Всего: нет



Уважаемые программисты, доброго времени суток! 
натолкните на мысль пожалуйста, каким образом решить задачку: Дана матрица L(3,3), найти и вывести номера строк, элементы которых одинаковы. 

матрица считывается из стринггрида. вывести количество в Memo думаю.
мой мозг старается изо всех сил сгенерировать решение. из того, что не закомментировано, я думаю может что-то получиться. от циклов с ума схожу уже.  smile с программированием не очень, а контрольную нужно сдавать, помогите пожалуйста!!!

Код

procedure TForm6.BitBtn2Click(Sender: TObject);
var m:Integer;
bol:Boolean;
begin
   Memo1.Lines.Clear;
   Memo1.Lines.Add('Номера строк, элементы которых одинаковы');

  m:=0;
  for i:=1 to 3 do
    begin
      bol:=true;
    for j:=2 to 3 do
      begin
        if a[i,j]=a[i,j-1] then bol:=false;
      end;
    if bol then inc(m);
    end;
  Edit1.Text:=IntToStr(m) ;

  { i:=1; j:=1;
   while (i<=3) and (j<=3) do
    begin
      begin
      for c:=1 to 3 do
      for k:=1 to 3 do
        if a[i,j]=b[c,k] then
      j:=j+1;
      end;
      i:=i+1;
    end;}

{  k:=1;
   for i:=1 to 3 do
    begin
       for j:=1 to 3 do
        if j<>i then
        begin
        for k:=1 to 3 do

         c:=i;
         if a[k,i]=a[k,j] then Memo1.Lines.Add(IntToStr(k){+','+inttostr(j+1));
        end;
        k:=k+1;
    end; }
end;


PM MAIL   Вверх
Poseidon
Дата 11.1.2015, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 5
Всего: 133



Для домашних заданий, контрольных и курсовых существует Центр помощи.

Тема перенесена! 


Добавлено через 2 минуты и 9 секунд
И что, этот код у тебя компилируется? А как же объеявение переменных? 

Ну да ладно. Если я правильно понял, то для матрицы:

1  2  3
1  1  1
1  2  3

правильным ответом будет 2 (во второй строке все элементы одинаковы и равны 1). Если так, то вот код:
Код

procedure TForm1.Button1Click(Sender: TObject);
const
  L: array[1..3] of array[1..3] of Integer = ((1, 2, 3), (1, 1, 1), (1, 2, 3));
var
  i: Integer;
begin
  Memo1.Lines.Clear;
  Memo1.Lines.Add('Номера строк, элементы которых одинаковы');

  for i := 1 to 3 do
    if (L[i, 1] = L[i, 2]) and (L[i, 1] = L[i, 3]) then
      Memo1.Lines.Add(IntToStr(i));
end;



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
marika1
Дата 11.1.2015, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.5.2013

Репутация: нет
Всего: нет



переменные глобальные.  о боже, как я поиздевалась над задачей, условие поняла по-другому. 

благодарю сердечно!!!
PM MAIL   Вверх
klopik
Дата 12.1.2015, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 27.9.2012

Репутация: нет
Всего: нет



Если я правильно понял задание и не забыл пока ещё Delphi)))
for i:=1 to 3 do
if (a[i,1]=a[i,2]) and (a[i,1]=a[i,3]) then
Memo1.Lines.Add('Строка '+ inttostr(i)+' c одинаковыми значениями';


Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Poseidon
Дата 13.1.2015, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 5
Всего: 133



klopik, ну это же просто гениально!!! Изменить одну строку в моем коде и выдать как собственное решение.

Это сообщение отредактировал(а) Poseidon - 13.1.2015, 08:28


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0772 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.