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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2013, 17:52   #1
Maserati
Пользователь
 
Регистрация: 13.10.2013
Сообщений: 28
По умолчанию Паскаль. Дан многочлен с одной переменной. Привести в нем подобные члены

Дан многочлен с одной переменной. Привести в нем подобные члены.
Будем хранить многочлен в виде массива: каждый элемент массива соответствует одночлену, заданному тройкой (коэффициент, буква, степень).
Код:
program zadanie;
type monomial = record
        degree, k : integer;
end;
type polynom = array[0..100] of monomial;
var pol, new : polynom;
    pol_n, new_n, i, maxdegree : integer;
begin
write ('Введите количество одночленов многочлена: ');
read (pol_n);
maxdegree := 0;
        for i:=1 to pol_n do
        begin
                write ('Введите одночлен и его степень ', i, ': ');
                read (pol[i].k, pol[i].degree);
                if pol[i].degree > maxdegree then
                        maxdegree := pol[i].degree;
        end;
        new_n := maxdegree;
        for i:=0 to maxdegree do
                new[i].degree := i;
        for i:=1 to pol_n do
                inc(new [pol[i].degree].k, pol[i].k);
        write ('Новый многочлен: ');
        write ('(', new[new_n].k, ')*x^', new[new_n].degree);
        for i:=new_n-1 downto 1 do
                if new[i].k > 0 then
                        write ('+(', new[i].k, ')*x^', new[i].degree);
        writeln;
end.
Помогите исправить,что бы можно было вводить букву для каждого одночлена.
Чтобы был примерно такой вид 54a-7b+5c+13d

Последний раз редактировалось Stilet; 01.12.2013 в 18:08.
Maserati вне форума Ответить с цитированием
Старый 01.12.2013, 20:13   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Так добавьте к вашему пользовательскому типу поле для хранения переменной
Код:
type monomial = record
        degree, k : integer;
        letter : char
        end;
И вводите его в программе
Код:
for i:=1 to pol_n do
        begin
                write ('Введите одночлен и его степень ', i, ': ');
                read (pol[i].k, pol[i].degree, pol[i].letter);
                if pol[i].degree > maxdegree then
                        maxdegree := pol[i].degree;
        end;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив к одной переменной? Maxislav C# (си шарп) 4 20.02.2012 08:26
Дан текстовый файл. Вывести количество содержащихся в нем символов и строк Настенька..Блонди Помощь студентам 4 12.02.2009 19:28
Дан массив с текстом. Как найти в нем количество разных слов. pascal1994 Помощь студентам 5 06.02.2009 11:50
Паскаль. Схема горнора, многочлен. dido171 Помощь студентам 26 18.01.2009 23:13