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

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

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

 
 Ответить  Открыть новую тему 
> массивы, простые задачи
Dik
сообщение 18.10.2004 21:23
Сообщение #1





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

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


Народ выручайте!

Задачка номер 1:
составить вектор повторяющихся чисел исходного вектора .
тоесть если есть массив : 2 15 3 2 3 5 2 8 17 5
ответ должен выглятет следующим образом
2 3 5 (число)
3 2 2 (сколько раз встречается)



Задачка номер 2:
количество простых чисел в i-той строке
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.10.2004 22:21
Сообщение #2


Гость






Задача №1:


const
 maxItems = 10;
type
 arrType = array[1 .. maxItems] of word;

const
 arr: arrType =
   (2, 15, 3, 2, 3, 5, 2, 8, 17, 5);

{ самый неэффективный способ сортировки }
procedure sort(size: word; var ia: arrType);

 procedure swap(a, b: word);
   var T: word;
   begin
     T := ia[a]; ia[a] := ia[b]; ia[b] := T
   end;

 var
   i, j, ixmin: word;
 begin
   for i := 1 to size - 1 do
     begin
       ixmin := i;
       for j := i + 1 to size do
         if ia[j] < ia[ixmin] then ixmin := j;
       swap(i, ixmin);
     end;
 end;

var
 item, count: array[1 .. maxItems] of word;
 i, index, possibly, cnt: word;
Begin
 { сортируем массив }
   sort(maxItems, arr);

 i := 1;
 index := 1;
 repeat
   possibly := arr[i];
   cnt := 0;
   repeat
     inc(i); inc(cnt);
   until (possibly <> arr[i]) or (i > maxItems);

   if cnt > 1 then
     begin
       item[index] := possibly;
       count[index] := cnt;
       inc(index)
     end;
 until i > maxItems;

 dec(index);

 writeln(#10#13'Items:');
 for i := 1 to index do
   write(item[i], ' ');
 writeln(#10#13'Count:');
 for i := 1 to index do
   write(count[i], ' ');

End.

 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 13:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"