Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 05.06.2014, 15:11   #1 (permalink)
lalka
Member
 
Регистрация: 12.02.2014
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Нужна помощь с решениями задач. Паскаль

№1. В одномерном массиве с четным кол-вом элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, y1,x2,y2,...,xn,yn. Определить кольцо с центром в начале координат, которое содержит все точки.
№2. Создайте целочисленный массив A[1..15] с помощью генератора случайных чисел с элементами от -15 до 30 и выведите его на экран. Определите самый большой элемент массива и его индекс.
№3 Вводится строка. Определить количество слов, равный по длине первому слову.
№4 В данном слове поменять местами буквы, стоящие на p-й и q-й позициях от начала.
№5 Даны целые числа a1,a2,..,an и b1,b2,..,bn. Преобразовать последовательность b1,b2,..bn по правилу, если ai<=0 то bi увеличить в 10 раз, иначе заменить нулем.
lalka вне форума   Ответить с цитированием

Старый 05.06.2014, 15:11
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Прочтите эти темы и вы откроете много нового в решении проблемы

Паскаль. Восемь задач на списки
Всеми любимый Паскаль. Помощь в решении задач
Очень нужна помощь в решении лабораторных на языке Паскаль
Паскаль. Помогите с решением задач
Нужна помощь в решении двух задач

Старый 13.06.2014, 18:14   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ладно.
Цитата:
Сообщение от lalka Посмотреть сообщение
№1. В одномерном массиве с четным кол-вом элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, y1,x2,y2,...,xn,yn. Определить кольцо с центром в начале координат, которое содержит все точки.
Код:
Const
 N=20;
Var
 A:Array[1..2*N] of real;
 R:Array[1..N] of Real;
 Rmin,Rmax:real;
 i:byte;
Begin
 Randomize;
 for i:=1 to 2*N do A[i]:=(Random-0.5)*40;
 for i:=1 to N do R[i]:=Sqrt(Sqr(A[2*i-1])+Sqr(A[2*i]));
 Rmax:=0;
 Rmin:=100;
 for i:=1 to N do
  begin
   if R[i]<Rmin then Rmin:=R[i];
   if R[i]>Rmax then Rmax:=R[i];
  end;
 Writeln('Rmin = ',Rmin:0:3,'        Rmax = ',Rmax:0:3);
 Readln
End.
Цитата:
Сообщение от lalka Посмотреть сообщение
№2. Создайте целочисленный массив A[1..15] с помощью генератора случайных чисел с элементами от -15 до 30 и выведите его на экран. Определите самый большой элемент массива и его индекс.
Код:
Var
 A:Array[1..15] of Integer;
 i,Imax:byte;
 Max:Integer;
Begin
 Randomize;
 Max:=-16;
 for i:=1 to 15 do
  begin
   A[i]:=-15+Random(46);
   write(A[i]:4);
   if A[i]>Max then
    begin
     Max:=A[i];
     Imax:=i;
    end;
  end;
 writeln;
 writeln('Maximal is A[',Imax,'] = ',A[Imax]);
 Readln
End.
Цитата:
Сообщение от lalka Посмотреть сообщение
№3 Вводится строка. Определить количество слов, равный по длине первому слову.
Вводится строка. Определить количество слов
Цитата:
Сообщение от lalka Посмотреть сообщение
№4 В данном слове поменять местами буквы, стоящие на p-й и q-й позициях от начала.
Код:
Var
 W:String;
 p,q:byte;
 Cp,Cq:Char;
Begin
 Repeat
  write('Enter the word: ');
  readln(W);
  write('p= ');
  readln(p);
  write('q= ');
  readln(q);
  if (p>Length(W)) or (q>Length(W)) or (p=q) then
   writeln('Incorrect!');
 Until (p<=Length(W)) and (q<=Length(W)) and (p<>q);
 Cp:=W[p];
 Cq:=W[q];
 Delete(W,p,1);
 Insert(Cq,W,p);
 Delete(W,q,1);
 Insert(Cp,W,q);
 writeln(W);
 Readln
End.
Цитата:
Сообщение от lalka Посмотреть сообщение
№5 Даны целые числа a1,a2,..,an и b1,b2,..,bn. Преобразовать последовательность b1,b2,..bn по правилу, если ai<=0 то bi увеличить в 10 раз, иначе заменить нулем.
Код:
Const
 N=16;
Var
 A,B:Array[1..N] of Integer;
 i:byte;
Begin
 Randomize;
 for i:=1 to N do
  begin
   A[i]:=-10+Random(20);
   B[i]:=Random(10)+1;
  end;
 Writeln('Before:');
 write('Array A:    ');
 for i:=1 to N do write(A[i]:4);
 writeln;
 write('Array B:    ');
 for i:=1 to N do write(B[i]:4);
 writeln;
 Writeln('After:');
 write('Array B:    ');
 for i:=1 to N do
  begin
   if A[i]<=0 then B[i]:=B[i]*10 else B[i]:=0;
   write(B[i]:4);
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:47.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.