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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.05.2009, 20:41
Makotya Makotya вне форума
Прохожий
 
Регистрация: 19.05.2009
Сообщения: 6
Репутация: 10
По умолчанию задача с массивами Delphi, код прилагается

Задачка заключается в следующем:

Дано 2 одномерных массива,каждый из которых не содержит повторяющихся элементов.Построить 3-ий массив,содержащий все элементы,входящие хотя бы в один из массивов.В третьем массиве так же не допускаются повторяющиеся элементы.

Я работала над ней,но в итоге-что-то не так-3-ий массив просто зануляет.Как исправить ошибку в коде-не знаю.


Буду очень признательна тому,кто найдет и справит мне ошибку.
Код:
program LR_4;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const n=4;
const m=4;

type Tmas1=array[1..n] of integer;
type Tmas2=array[1..m] of integer;
type Tmas3=array[1..n+m] of integer;

procedure vvod_ma(var a:array of integer);
          var i:integer;
begin
     writeln('vvedite 1 massiv');
     for i:=1 to n do
     begin
         write('a[',i,']= ');readln(a[i]);
     end;
end;

procedure vvod_mb(var b:array of integer);
          var i:integer;
begin
     writeln('vvedite 2 massiv');
     for i:=1 to m do
     begin
         write('b[',i,']= ');readln(b[i]);
     end;
end;

function stroim_c(const a:Tmas1;const b:Tmas2;var c:Tmas3):integer;
var i,j,k,naiden:integer;
begin
     for i:=1 to n do
     c[i]:=a[i];
     k:=n;
        for i:=1 to m do
           begin
           naiden:=0;
              for j:=1 to k do
              begin
                if b[i]=c[j] then
                 begin
                   naiden:=1 ;
                   break;
                 end;
              end;
                if naiden=0 then
                  begin
                    k:=k+1;
                    c[k]:=b[i];
                  end;
           end;
    result:=k;
end;
procedure print_m(const a:array of integer;const b:array of integer;const c:array of integer);
var i:integer;
begin
     writeln('1 massiv');
     for i:=1 to n do
        writeln(a[i]:4);
     writeln;
     writeln('2 massiv');
     for i:=1 to m do
        writeln(b[i]:4);
     writeln;
     writeln('3 massiv');
     for i:=1 to n+m do
        writeln(c[i]:4);
     writeln;
end;

var a:Tmas1;b:Tmas2;c:Tmas3;
    k:integer;
    begin
        writeln('massiv');
        vvod_ma(a);
        vvod_mb(b);
        print_m(a,b,c);
        k:=stroim_c(a,b,c);
        writeln('k=',k);
        readln;
 end.

lmikle: Хде теги???

Последний раз редактировалось Makotya, 20.05.2009 в 10:32.
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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