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

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

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

 
 Ответить  Открыть новую тему 
> Задачка, одномерные массивы
сообщение
Сообщение #1


Гость






Срочно надо решить задания, а я ничего в массивах не знаю. blink.gif Помогите пожалуйста!!!!
1.)Даны действительные а1,....,a18. Получить а1,a10,a2,a11,...,a9,a18.
2.)Даны целые a1,...,an. Получить новую последовательность, выбросив из
исходной все члены с наибольшим значением (если все члены последовательности равны, то ничего выводить не нужно).
3.)Если в данной последовательности действительных чисел a1,....,an есть
хотя бы один член, меньше чем -2, то все отрецательные члены заменить
их квадратами, оставив остальные без изменений; в противном случае
домножить все члены на 0.1.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






студентка
Вот первая задача... Попробуйте решить остальные самостоятельно...

Var
 a: Array[1 .. 18] Of Real;
 i, j, next: Integer; T: Real;

Begin
 For i := 1 To 18 Do
   Begin
     Write('a[', i, '] = ');
     Readln(a[i]);
   End;

 i := 1; next := 10;
 While i <= 18 do
   Begin

     T := a[next];
     For j := Pred(next) DownTo Succ(i) Do
       a[Succ(j)] := a[j];
     a[Succ(i)] := T;

     Inc(i, 2); Inc(next)
   End;

 For i := 1 To 18 Do
   WriteLn('a[', i, '] = ', a[i])
End.

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


Гость






volvo
СПАСИБО!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






rolleyes.gif Вторую задачку я решила, а вот с третьей проблемкасуть задачи я поняла, а вот только никак не могу понять как она решается!!! Помогите!!!! Хотя бы какую нибудь подсказочку дайте!!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






студентка
Значит так: самый простой вариант - два прохода по массиву.
Первый проход - проверяем, есть ли элемент меньше, чем -2. Если есть, устанавливаем какую-то переменную типа Boolean в True.

Перед 2-ым проходом проверяем состояние этой переменной, и если она = True, то каждый A[i] для которого выполняется A[i] < 0, заменяем на SQR(A[i]). Если переменная равна False, то просто проходим по массиву и умножаем каждый его элемент на 0.1
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






СПАСИБО-О-О!!!!
 К началу страницы 
+ Ответить 

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

 





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