Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 15.11.2010, 23:30
melnikovd melnikovd вне форума
Прохожий
 
Регистрация: 15.11.2010
Сообщения: 3
Репутация: 10
По умолчанию Двухмерный массив Delfi 7

Доброго времени суток всем! Делал лабораторную работу по информатике на задание с двухмерным массивом,ей богу никак немогу его сделать.
Очень прошу помогите пожайлуста!!!
само задание:

Заданы матрицы A(n*m) и B(n*m). Сравнить их соответствующие элементы (с одинаковыми номерами) и записать равные элементы в вектор C .

Pадание нужно для зачёта,очень прошу,помогите!
Заранее ОГРОМНОЕ спасибо!
Ответить с цитированием
  #17  
Старый 16.11.2010, 17:36
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

Товарищи форумчане, помогите пожалуйста
Ответить с цитированием
  #18  
Старый 16.11.2010, 18:11
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ну и в чем сложность? Обойти массив сравнив каждый из элементов, результат внести в новый массив:
Код:
Const
 ArrSize = 5;
Var 
 A,B: Array[1..ArrSize,1..ArrSize] of Integer;
 C: array[1..ArrSize*ArrSize] of Integer; 
 i,j,k: Integer;
begin
 k := 0;
 for i := 1 to ArrSize
 do for j := 1 to ArrSize
     do if A[i,j] = B[i,j] 
         then begin
                Inc(k); 
                C[k] := A[i,j];
                end;
end.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #19  
Старый 16.11.2010, 18:48
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

А мне можно получить от вас указания, что нужно изменить?
Вот повторю свой код
Код:
procedure DelEvenElement(var a:TArray100;cnt:integer);
 var i,j:integer;
begin
 for i:=1 to cnt do
   if (a[i]mod 2)=0 then
    begin
     for j:=i to cnt do
      a[j]:=a[j+1];
    end;
end;
Задание таково:
Нужно удалить все четные элементы массива.
Желательно пояснить где была проблема и почему.
Ответить с цитированием
  #20  
Старый 16.11.2010, 20:31
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

Ну товарищи форумчане помогите мне, что не так в процедуре, опичаной мною выше?
Она удаляет элементы массива по условию, но еще добавляет мусор на место оставшихся значений.
Ответить с цитированием
  #21  
Старый 16.11.2010, 21:45
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

О всезнающие, помогите мне с решением небольшой проблемы по работе с массивами.
Спасибо вам огромное за то, что откликаетесь.
Ответить с цитированием
  #22  
Старый 17.11.2010, 16:43
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

Спасибо за то что помогли, но я уже и сам разобрался.
Ответить с цитированием
  #23  
Старый 18.11.2010, 18:49
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию Повторяющиеся элементы

Какое записать условие для повторяющихся элементов?
Ответить с цитированием
  #24  
Старый 18.11.2010, 19:08
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

и как их удалить?
Ответить с цитированием
  #25  
Старый 18.11.2010, 20:23
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

Люди ну помогите решить задание, пожалуйста.
Ответить с цитированием
  #26  
Старый 18.11.2010, 20:30
flips flips вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 60
Репутация: 10
По умолчанию

Вот код процедуры удаления повторяющихся элементов, что нужно изменить?
Код:
procedure DelEvenElement(var a:TArray100;var cnt:integer);
 var i,j:integer;
begin
{i:=1;
 while i<=cnt do
  begin}
  for i:=cnt downto 1 do
   if a[i]=a[i+1] then
    begin
     for j:=i to cnt do
      a[j]:=a[j+1];
      cnt:=cnt-1;
    {end
   else
    i:=i+1;}
    end;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025