IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Массивы, Из 2-х третий
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Помогите решить задачку или исправить эту!
Даны два одномерных массива чисел А и В.
Сформировать из них массив С, где к каждому четному элементу А
добавлено сколько раз этот элемент встречается в массиве В.
Короче надо чтобы все эл-ты из массива А передалась массиву С (это
работает), а потом надо чтобы все чётные (i mod 2 = 0) масива С при
совпадении с элементом массива В увеличивались на 1.

Код

UNIT Modul;

Interface
Procedure Reshenie;

Implementation
Uses CRT;
const
N = 100;{MaxLengthArray}
M = N*2;{MaxLengthArrayC}
K = 10; {random(10)}

type
TArray1 = array [1..N] of Real;
TArray2 = array [1..M] of Real;

Procedure Inform;
begin
ClrScr;
Writeln('Programma OK bla-bla');
Writeln;
end;

Procedure VvodMassivov(var lengA,lengB:Integer; var A,B:TArray1);
var i,par:Integer;
    ch:Char;
begin
repeat
  Writeln('Vvedite dlinnu massiva a, ne bolshe ',N);
  Readln(lengA);
  Writeln('Vvedite dlinnu massiva b, ne bolshe ',N);
  Readln(LengB);
  par:=0;
  if (lengA > 0) and (lengA <= N) and (lengB > 0) and (lengB <= N) then
    begin
     Writeln('Vi vveli: dlina massiva A = ',lengA);
     Writeln('          dlina massiva B = ',lengB);
     par:=1;
    end
else
  begin
   Writeln('Eror: Neverno vvedeni dannie');
   Writeln('Povtorit vvod/vidti? Y/N');
   ch:=ReadKey;
   if UpCase(ch) = 'N' then
      exit;
  end;
until par = 1;
randomize;
Writeln('Massive A:');
for i:= 1 to lengA do
     begin
      A[i]:=random(K);
      Write(A[i]:1:0,' ');
     end;
Writeln;
Writeln('Massive B:');
for i:= 1 to lengB do
     begin
      B[i]:=random(K);
      Write(B[i]:1:0,' ');
     end;
end;

Procedure ZapolnitC(lengA,lengB:Integer; A,B:TArray1; var C:TArray2);
var i,j:Integer;
begin
for i:=1 to lengA do
     C[i]:= A[i];
{Tut bla ne rabotaet sto-to}
for i:= 1 to lengA do
   if (i mod 2 = 0) then
     for j:=1 to lengB do
        if C[i] = B[j] then
           C[i]:= C[i] + 1;
end;
Procedure Reshenie;
var A,B:TArray1;
    C:TArray2;
    lengA,lengB,i:Integer;
begin
Inform;
VvodMassivov(lengA,lengB,A,B);
ZapolnitC(lengA,lengB,A,B,C);
Writeln;
Writeln('C');
for i:=1 to lengA do
     Write(C[i]:1:0,' ');
end;
end.

не знаю как сделать в окошке как вы извиняюсь

Сделал в окошке... smile.gif

Сообщение отредактировано: APAL -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 12.09.2025 10:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name