KMA
Долгожитель
|

Zheka, я тебе быстыдно наврал. Я скопировал код, который был до сохранения рабочей программы... Посмотри выше, я чтобы не постить по сто раз одно и то же там все переправил.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 16 нояб. 2007 21:46 | IP
|
|
Zheka
Новичок
|
to KMA: Твоя программа работает, но всё же по условию задачи массив W состоит из 15 чисел, если сделать L=15, то программа выдаёт ту же ошибку только теперь на 14-той итерации. И вот ещё, определил где всё таки программа находит ошибку, оказалось в нахождении логарифма ln(0.1-i)... (Сообщение отредактировал Zheka 17 нояб. 2007 18:54)
|
Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 17 нояб. 2007 19:40 | IP
|
|
KMA
Долгожитель
|

to KMA: Твоя программа работает, но всё же по условию задачи массив W состоит из 15 чисел, если сделать L=15, то программа выдаёт ту же ошибку только теперь на 14-той итерации. И вот ещё, определил где всё таки программа находит ошибку, оказалось в нахождении логарифма ln(0.1-i)...
Ну хоть чуть-чуть повнимательнее будь, пожалуйста. Что ты вообще написал такое?
ln (0.1-i)
Это даже при всем желании чисто из математических соображений быть правильным не может. У тебя в задании стоит ln (0.1i). Действительно при 15 моя программа уже теряется. Но до 15 это было связано как раз с тем логарифмом, в котором стоял косинус... Сделали упрощение, в итоге получили уже более приближенную задачу. У меня кстати и на косинусах вылетает. С преподавателем говорил? Спроси у него, может чего посоветует дельного. Мне пока в голову никаких идей не идет.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 18 нояб. 2007 18:09 | IP
|
|
Guest
Новичок
|
помогите, пожалуйста. дана матрица символов, нужно гласные буквы (только латинские, русских не будет в матрице) переписать в одномерный массив и упорядочить каждую строку исходной матрицы по алфавиту, написать программу используя подпрограммы.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 18 нояб. 2007 22:11 | IP
|
|
Mira_5
Новичок
|
Здравствуйте, всем. подскажите, пожалуйста, не могу с Паскалем разобраться: Есть у меня задача: Задан массив из 10-ти КОМПЛЕКСНЫХ (!!!) чисел. Надо из этого массива найти наименьшее по модулю число. Сам алгоритм простой... Но вот не чего могу понять: как задавать эти комплексные числа? (ну, в Паскале есть integer, real... комплксных нету)... И ещё: в самой операции: подскажите, пожалуйста, как состаить формулу для нахождения наименьшего по модулю комплексного числа? Заранее спасибо большое за любую помощь...
|
Всего сообщений: 39 | Присоединился: сентябрь 2007 | Отправлено: 19 нояб. 2007 18:26 | IP
|
|
DDD 87
Новичок
|
Помогите пожалуста студенту. Мне нужно блок-схема любая больше 20 дейстий, присшлите мне пожалуста све что ввас есть Зарания спасибо
|
Всего сообщений: 1 | Присоединился: ноябрь 2007 | Отправлено: 19 нояб. 2007 19:41 | IP
|
|
KMA
Долгожитель
|

подскажите, пожалуйста, не могу с Паскалем разобраться: сть у меня задача: Задан массив из 10-ти КОМПЛЕКСНЫХ (!!!) чисел. Надо из этого массива найти наименьшее по модулю число.
Как таковых комплексных чисел в Паскале нет. Это действительно так. Но никто не мешает тебе их ввести. Я бы сделал так: Задал матрицу 2*10. В первой строке были бы действительный части чисел, а во второй комплексные. В принципе, и отделять бы не пришлось. можно всегда конечно строчкой представить комплексное число, т. е. прямым видом a+bj, соответственно тогда тебе придется выделять числа из строки и преобразовывать их. Модуль комплексного числа есть квадрат суммы действительной и мнимой части.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 нояб. 2007 23:13 | IP
|
|
Mira_5
Новичок
|
To KMA (about the complexMass): Может быть, у Вас (или у кого-то на форуме) есть примеры решения таких задач -- обработка массивов из комплексных чисел? даже не обязательно, чтобы это было в точности такое условие -- просто вот, например, я, всё сразу понимаю, если перед глазами готовый пример Заранее спасибо
|
Всего сообщений: 39 | Присоединился: сентябрь 2007 | Отправлено: 23 нояб. 2007 14:09 | IP
|
|
KMA
Долгожитель
|

Нет, на форуме я такого не встречал. Опять же могу только предположить как это задается. Вообще программирование наука творческая и твое дело в том, как ты представишь. Вот я, например, решил представить комплексное число как пару, т. е. массив состоящий из двух строк, первая строка хранит реальную часть, а вторая мнимую, т. е. для числа 8.3-j5, массив будет иметь значение: 8.3 -5 Пример, написал.
Code Sample:
const size=2; {количество элементов в массиве} Var _complexArray: array [1..2, 1..size] of real; _complexNumber: string; {получаем из двух частей строку в виде комплексного числа} function complexNumberToStr (realPart, imaginaryPart: real): string; Var _buf: string; { переменная обменник} _res: string; { результирующая строка} Begin str (realPart:5:2, _res); {переводим в строку реальну часть} str (imaginaryPart:5:2, _buf); { то же самое но мнимую} if _buf[1]='-' {проверяем на отрицательность} then _res:=_res+'-j'+copy (_buf, 2, length(_buf)-1) else _res:=_res+'+j'+copy (_buf, 2, length(_buf)-1); complexNumberToStr:=_res; End; {ВАЖНО: почему копируем со второго символа? Потому что положительный числа преобразуется в строку так: _12345, где _ это пробел, а отрицательные, соответственно с минусом.} {получение из строки реальной и мнимой части} procedure complexNumberFromStr (cmplNmbStr: string; var realPart, imaginaryPart: real); Var i, _len: integer; _buf: string; _code: integer; Begin i:=1; _buf:=''; for i:=1 to length(cmplNmbStr) do {просто проверка на лишние пробелы} if cmplNmbStr[ i ]<>' ' then _buf:=_buf+cmplNmbStr[ i ]; i:=pos('j', _buf); {позиция начала мнимого числа} val (copy (_buf, 1, i-2), realPart,_code); {реальная часть} val (copy (_buf, i+1, length(_buf)), imaginaryPart, _code); {мнимая} if _buf[i-1]='-' {проверка, если мнимая оказалась отрицательной} then imaginaryPart:=-imaginaryPart; End; BEGIN complexNumberFromStr('11.5+j9.6', _complexArray[1, 1],_complexArray[2, 1]); writeLn ('задаем 1 комлексное число') writeLn (_complexArray[1, 1]:5:2,_complexArray[2, 1]:5:2); _complexArray[1, 2]:=23.5; _complexArray[2, 2]:=-3.6; writeLn ('Выводим заданное отрицательное число 2'); writeLn (complexNumberToStr(_complexArray[1, 2],_complexArray[2, 2])) readLn; END.
Тут я все проверял, программа должна быть рабочей. Я в принципе, достаточно написал для того, чтобы вы смогли решить вашу задачу. (Сообщение отредактировал KMA 23 нояб. 2007 22:08)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 нояб. 2007 22:07 | IP
|
|
Mira_5
Новичок
|
Спасибо Вам большое! Я бы, конечно, так сама никогда не написала, по крайней мере, на теперешнем этапе своих "знаний"...
Даже предположений никаких не было Сейчас попробую в этом разобраться (Сообщение отредактировал Mira 5 23 нояб. 2007 23:17)
|
Всего сообщений: 39 | Присоединился: сентябрь 2007 | Отправлено: 23 нояб. 2007 23:12 | IP
|
|
|