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

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

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

 
 Ответить  Открыть новую тему 
> Задача на одномерные массивы с исп. процедур., ПОМОГИТЕ!!!
сообщение
Сообщение #1





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

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


Задали д.з., как решать ума не приложу, точнее вроде всё понятно, НО задача не решается, помогите пожалуста, опытный человек с разу всё напишет, а я не могу sad.gif

Формировать одномерный массив С, содержащий повторяющиеся элементы массива А, которых нет в массиве В, элементы в массиве С не должны повторяться. Дополнительный массив не использовать. (Одномерные массивы А и В, содержат не более 20 элементов целого типа.) Задачу решить через процедуры.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ashly
У меня вот что получилось: blink.gif
Код

const
 n = 20;
type
 arrType = array[1 .. n] of integer;

{ Эта функция подсчитывает в передаваемом ей массиве Х
  количество вхождений числа num... }
function countArr(num: integer;
        x: arrType): integer;
 var i, count: integer;
 begin
   count := 0;
   for i := 1 to n do
     inc( count, byte(x[i] = num) );
   countArr := count
 end;

{ Эта процедура добавляет элемент num к массиву,
передаваемому в нее как Х (элемент добавляется с индексом index) }
procedure addToArr(var x: arrType;
         var index: integer; num: integer);
 begin
   inc(index);
   x[index] := num;
 end;

{ Процедура для печати массива X }
procedure Print(x: arrType; n: integer);
 var i: integer;
 begin
   for i := 1 to n do
     write(x[i]:4);
   writeln
 end;

{ константы заданы для удобства отладки }
const
 a: arrType =
   (1, 1, 3, 3, 4, 5, 6, 7, 7, 7, 8, 5, 4, 4, 3, 3, 2, 0, 9, 2);
 b: arrType =
   (0, 0, 0, 0, 0, 0, 0, 0, 7, 1, 10, 14, 14, 13, 12, 14, 18, 0, 0, 0);

var
 c: arrType;
 i, index: integer;
begin
 for i := 1 to n do
   {если текущий элемент встречается в массиве А не один раз ...}
   if countArr(a[i], a) > 1 then
    { ... и он не встречается в массиве В и в массиве С ...}
     if (countArr(a[i], b) = 0) and (countArr(a[i], c) = 0)
      { ... то добавить его к массиву С}
       then addToArr(c, index, a[i]);

 { печатаем результат - массив С... }
 Print(c, index)
end.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


volvo, большое спасибо rolleyes.gif , но мне немного не поянтно как ты процедуры написал и что они делают unsure.gif немог бы ты объяснить??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Ashly
Смотри верхний пост - я добавил комментарии...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Спасибо rolleyes.gif теперь понятно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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