Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 16:45   #1
Дарья Книга
Пользователь
 
Регистрация: 19.03.2012
Сообщений: 21
Вопрос Массивы в паскале

Я понимаю,что задачки не сложные,но я ничего не могу сделать
Помогите,пожалуйста)) Вам легко,а мне счастье
1.Заполнить массив размером N геометрической последовательностью с первым элементом а и знаменателем q.
2.Дан массив целых чисел. Нечётные числа увеличить в m раз,чётные- в n раз.
3.дан произвольный числовой массив. Не используя дополнительных массивов,удалить из него наибольший элемент(если таковых несколько,удалить все)
Дарья Книга вне форума Ответить с цитированием
Старый 28.03.2012, 17:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
1-я

Mas[1] :=  a;
for i:=2 to N do
   Mas[i] := Mas[i-1] * q;

2-я

for i:=1 to N do
  if odd(Mas[i]) 
     then Mas[i] := Mas[i] * m
     else Mas[i] := Mas[i] * n;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.03.2012, 17:30   #3
Дарья Книга
Пользователь
 
Регистрация: 19.03.2012
Сообщений: 21
По умолчанию

а что такое odd ?
Дарья Книга вне форума Ответить с цитированием
Старый 28.03.2012, 17:43   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

odd это функция определения четности числа...
возвращает true если число нечетное... и false, если число четное...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 28.03.2012, 18:25   #5
Дарья Книга
Пользователь
 
Регистрация: 19.03.2012
Сообщений: 21
По умолчанию

А третью кто-нибудь поможет?
Дарья Книга вне форума Ответить с цитированием
Старый 28.03.2012, 18:41   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

вы немного путаете понятия "помогите" и "сделайте"...
вот вам третья...
Код:
var
a: array [1..20] of integer;
i,j, max, index: integer;
begin
  // заполняем массив значениями... 
  for i:=1 to 20 do
    begin
      a[i] := random(50) + 1; // от 1 до 50 числа 
      writeln('a[',i,']=',a[i]);
    end;
  // ищем максимальное значение
  max := a[1];
  for i:=1 to 20 do
    if a[i] > max then
      max := a[i];
  // удаляем элементы сдвигом последующих влево
  index := 0;
  i := 1;
  while ( (i + index) <= 20) do
    begin
      if a[i] = max then
        begin
          index := index +1;
            for j:= i to 20 - index do
              a[j]:= a[j+1];
        end
        else i:= i + 1;
    end;
 writeln('max = ', max);
 // вывод оставшихся элементов
 writeln('Новый массив');
   for i:=1 to 20 - index do
      writeln('a[',i,']=',a[i]);  
end.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 28.03.2012, 18:49   #7
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Если я правильно понял задачку то надо заюзать динамический массив. но в паскале их нет. есть зато в Delphi. Но можно элементы переставлять местами(типа сортировочка) если не принципиально наличие элементов в массиве то можно не удалять их а например просто пометить как удаленные и не выводить на экран
простой пример:
Код:
type element=record
visible:boolean;
value:real;
end;

{юзание типа}
var massiv: array[0..10] of element;
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 28.03.2012, 18:52   #8
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

О меня опередили

Цитата:
Сообщение от VIK_aka_TOR Посмотреть сообщение
// удаляем элементы сдвигом последующих влево
мысль та же самая)))
не увидел удаления. передвижки тока а элементы то в массиве остались) просто не вывелись)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 28.03.2012, 19:01   #9
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

"затерли" значения максимумов... )))
можно конечно через списки сделать...и реализовать удаление как таковое, только это уже будет не массив)... но... судя по всему и такого решения будет вполне достаточно...
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 28.03.2012 в 20:01.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 28.03.2012, 19:02   #10
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

ну тож не плохой вариант а я просто хотел флаги расставить). но школьникам думаю пойдут оба решения)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы в Паскале chertovka. Помощь студентам 1 14.06.2010 07:50
массивы в паскале Наташа1973 Помощь студентам 3 22.01.2010 19:58
Массивы в паскале Pihan Помощь студентам 2 12.11.2009 01:02
массивы в паскале Aleksa_ks Помощь студентам 1 20.10.2009 13:50
массивы в паскале Кипятилка Помощь студентам 6 04.07.2009 15:27