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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Задача на массивы 
:(
    Опции темы
Milkyway
  Дата 29.10.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте уважаемые программисты! Помогите пожалуйста сделать 2 задачки на делфи(Console Application), инече вылечу из колледжа =(
Вот условия...

Дан Двумерный массив нужно определить есть ли 2 или более одинаковых элемента?

Очень на Вас надеюсь!!!

Это сообщение отредактировал(а) Milkyway - 29.10.2007, 18:27
PM MAIL   Вверх
Rodman
Дата 29.10.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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




M
Rodman
Модератор: Название темы должно отражать ее суть!
Модератор: Пожалуйста, один топик - один вопрос.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
NE_KTO
Дата 29.10.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

program Help_me;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const      // описываем константы
  N = 3;   // N - кол-во строк в массиве
  M = 4;   // M - кол-во столбцев

var        // описываем переменные
  Massiv: array[1..N, 1..M] of Integer;  // Собственно сам массив размером NxM из целых чисел
  i, j : Integer;                        // Счетчики цыклов
  i1, j1 : Integer;                      // Они же
  EqualCount: Integer;                   // Количество найденных равных элементов

begin

  // Сперва вводим массив с клавиатуры
  for i:=1 to N do          // вложенные циклы по i и j
    for j:=1 to M do begin  // те получается, что пробегаем весь массив
      Write('Input element [',i,',',j,']: ');  // Приглашение для ввода :)
      ReadLn(Massiv[i,j]); // Вводим с клавы число и помещаем в массив
      end;

  // Теперь собственно сам поиск равных элементов
  EqualCount:=0;           // Обнуляем счетчик найденных равных элементов
  for i:=1 to N do         // Пробегаем массив меняя i и j
    for j:=1 to M do
      for i1:=1 to N do    // Для каждого из значений i и j пробегаем массив еще
        for j1:=1 to M do  // раз по i1 и j1 - получается сравним каждый элемент с каждым
                           // (в том числе сам с собо)
          if (Massiv[i,j] = Massiv[i1,j1]) and  // если элементы равны И
              not ((i = i1) and (j = j1)) then  // мы НЕ сравниваем элемент сам с собой то
            EqualCount:=EqualCount + 1;         // нашли равные элементы - увеличиваем счетчик на 1

  // Теперь выводми результат
  if EqualCount = 0 then     // Если счетчик равен 0
    WriteLn('In array adsent equal elements.') // Значит говорим, что нет равных
  else
    WriteLn('In array present two or more equal elements.');  // Иначе есть два или более

  // Ждем-с пока пользователь увидит результат и нажмет ENTER
  WriteLn('Press ENTER. . .');
  ReadLn;

  // P.S. Здесь использован самый простой, но не оптимальный алгоритм
  // P.P.S Извиняюсь за мой английский, может где и не прав.. с этим тяжко...
  // УДАЧИ!
end.


PM MAIL   Вверх
Milkyway
Дата 29.10.2007, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо большое! Это то что нужно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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