|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.05.2010, 17:23 | #11 |
Пользователь
Регистрация: 19.05.2010
Сообщений: 22
|
Здравствуйте!Помогите пожалуйста!
Дан одномерный массив А размера n(n<=30).получить новый массив В,каждый элемент которого вычисляется по формуле bi=cosai+cos^2i+cos^3i+..+cosa^ni (формула словами:б итое равно косинус а итого+косинус квадрат и+косинус куб и.......и так далее) среда-Турбо Паскаль Ольга123456 на форуме Добавить отзыв для Ольга123456 Пожаловаться на это сообщение Редактировать/удалить сообщение |
24.05.2010, 18:00 | #12 | |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
Цитата:
var Sum: real; i, k, n: byte; a: array [1..30] of real; b: array [1..30] of real; function Pow(P: real; const s: byte): real; var i: byte; Sp: real; begin Sp:=1; for i:=1 to n do Sp:=Sp*P; Pow:=Sp; end; begin readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n do begin Sum:=cos(a[i]); for k:=2 to n do Sum:=Sum + Pow(cos(i),k); b[i]:=Sum; end; for i:=1 to n do writeln(b[i]:1:3); readln; end. Вроде так.
ICQ: 593-013-807
|
|
25.05.2010, 09:48 | #13 |
Пользователь
Регистрация: 19.05.2010
Сообщений: 22
|
Don Karleone,спасибо большое))))))))
Я сейчас в универ уезжаю.Приду-проверю работу программы и напишу Вам. зайдите потом сюда) |
25.05.2010, 10:41 | #14 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
Don Karleone!
Сразу же возник вопрос: а не утомительно ли будет пользователю вводить вручную 30 значений массива А??? А если пользователь введет значение N больше 30? Кирдык программе!!! "Out of range" обеспечено!!! Затем возник вопрос: а зачем в функцию передавать константное значение S:byte, если оно в функции ну никак не используется??? Затем возник вопрос: а зачем в цикле (при вычислении элемента массива B[i]) каждый раз (29 раз) вызывать функцию Pow??? Кроме того, в функцию каждый раз передается значение Cos(i) и будет оно вычисляться каждый раз при вызове функции (т.е. опять же 29 раз). А его достаточно вычислить ВСЕГО ОДИН РАЗ... И, кроме того, вычислять нужно не Cos(i), а Cos(A[i])!!! (c TC это обсуждалось при личном общении). Совершенно неоптимальное программирование с точки зрения организации вычислительных процессов... Уж лучше написать функцию вычисления элемента массива B[i] и делать ВСЕГО ОДИН вызов ЭТОЙ функции... Да и тип данных лучше использовать Extended вместо real, т.к. он оптимален для плавающей точки при работе с сопроцессором... См. пост №3 http://www.programmersforum.ru/showthread.php?t=99978
Перемешивай дело с бездельем и не сойдешь с ума...
Последний раз редактировалось Grag; 25.05.2010 в 14:01. |
26.05.2010, 00:33 | #15 | |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
Цитата:
В функции в цикле for конечным значением должна быть константа s. Я просто ошибся и написал n. По условию программы начиная со второго элемента вычисляется не cos(a[i]) a cos^2i, cos^3i т. е. cos в квадрате i, cos в кубе i и т. д. Ввод количества элементов остается на совести человека, который будет вводить. И если ты такой умный и оптимальный, ты бы взял и написал свой оптимальный код, так как это сообщение появляется уже в различных темах много, много раз и тема была бы закрыта уже давным давно!!!
ICQ: 593-013-807
|
|
26.05.2010, 12:44 | #16 | ||
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
Цитата:
Цитата:
Перемешивай дело с бездельем и не сойдешь с ума...
Последний раз редактировалось Grag; 26.05.2010 в 12:48. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
по массивам | lilia2121 | Помощь студентам | 3 | 15.04.2010 13:05 |
Задание по массивам | rump | Помощь студентам | 5 | 29.05.2009 21:57 |
Программы по строкам,файлам,массивам от Блондиночки | Блондиночка | Помощь студентам | 17 | 05.05.2008 01:08 |