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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2008, 18:10   #1
evrey
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 13
Подмигивание Создать очередь из n целых чисел вычисляющая по формуле А=х*х+1;

Условие задачи.
Создать очередь из n целых чисел вычисляющая по формуле А=х*х+1;
х=1,2,3..n.Найти сумму трех последних элементов очереди.

Помогите переделать прогамму которая у меня есть на паскале согласно условию задачи .Текст програмы в приложениии.

Код:
program Ochered;
  uses
    crt;
  type
    pelement=^telement;
    telement=record
             data:integer;
             next:pelement;
    end;

    tqueue=record
           first,last:pelement;
    end;
  var
    i,kol,s,x,k:integer;
    m,l:array [1..10] of integer;
    q:tqueue;

    procedure init;
      var q:tqueue;
        begin
          q.last:=nil;
        end;

    procedure add(x:integer; var q:tqueue);
      var p:pelement;
        begin
          if q.last=nil then
            begin
              q.last:=new(pelement);
              q.first:=q.last;
              q.last^.data:=x;
              q.last^.next:=nil;
            end else
              begin
                p:=new(pelement);
                p^.data:=x;
                p^.next:=nil;
                q.last^.next:=p;
                q.last:=p;
              end;
        end;

   BEGIN
     clrscr;
     s:=0;
     textcolor(White);
     writeln('  Vvedite kol-vo chisel dlya sozdaniya ocheredi');
     write('  Kol= ');
     textcolor(yellow);
     readln(kol);
     textcolor(red);
     writeln('  Vvedite eti chisla');
     textcolor(9);
       for i:=1 to kol do
         begin
           readln(m[i]);
           l[i]:=m[i]+1;
         end;
         Textcolor(green);
         Writeln;
         Writeln;
     writeln('     OCHERED: ');
       for i:=1 to kol do
         begin
           add(l[i],q);
           s:=s+l[i];
           write(' ',l[i],'   ');
         end;
      writeln;
      Writeln;
      Textcolor(11);
      writeln('    SUMMA =',s);
      readln;
    END.

Последний раз редактировалось Serge_Bliznykov; 15.09.2011 в 08:27. Причина: оформил код тегами
evrey вне форума Ответить с цитированием
Старый 02.06.2008, 20:44   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Можно было хотя бы попытаться...
Замените конец программы вот на это:

Код:
var a:integer;
begin
   writeln(' Vvedite kol-vo chisel dlya sozdaniya ocheredi');
   write(' Kol= ');
   readln(kol);
   Writeln;
   Writeln;
   writeln(' OCHERED: ');
   s:=0;
   for i:=1 to kol do begin
      A := i*i+1;
      add(A, q);
      if i > kol-3 then s:=s+A;
      write(' ',A,' ');
   end;
   writeln;
   Writeln;
   writeln(' SUMMA =',s);
   readln;
end.
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение длинных целых чисел Rifler Паскаль, Turbo Pascal, PascalABC.NET 1 04.06.2008 21:12
Перемещение из массива целых чисел... Си Sota Помощь студентам 1 01.06.2008 19:51
Создать очередь из n целых чисел вычисляющих по формуле А=х*х+1; х=1,2,3..n. evrey Помощь студентам 3 01.06.2008 00:00
Вывод целых и десятичных чисел Maycal Общие вопросы C/C++ 2 24.10.2007 12:34
Задача: перевод целых чисел в римские n0x Паскаль, Turbo Pascal, PascalABC.NET 4 12.12.2006 19:52