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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 18:26   #1
DANIIL1995
Новичок
Джуниор
 
Регистрация: 11.04.2012
Сообщений: 1
Сообщение Задача на одномерные массивы

Ребят, я новичок, помогите пожалуйста написать программу и составить блок - схему.

задача: сформировать линейный массив из 12 случайных чисел в интервале от -15 до 15. Найти кол-во элементов, больших 10 и скопировать в новый массив. Все отрицательные элементы заменить утроенным значением этих элементов, найти среднее арифметическое значение отрицательных элементов. В новом массиве найти сумму элементов с нечетными номерами. Все результаты вывести на экран.
DANIIL1995 вне форума Ответить с цитированием
Старый 11.04.2012, 19:02   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
Радость

Цитата:
Сообщение от DANIIL1995 Посмотреть сообщение
Ребят, я новичок, помогите пожалуйста написать программу и составить блок - схему.

задача: сформировать линейный массив из 12 случайных чисел в интервале от -15 до 15. Найти кол-во элементов, больших 10 и скопировать в новый массив. Все отрицательные элементы заменить утроенным значением этих элементов, найти среднее арифметическое значение отрицательных элементов. В новом массиве найти сумму элементов с нечетными номерами. Все результаты вывести на экран.
Код:
{
задача:
  сформировать линейный массив из 12 случайных чисел в интервале
от -15 до 15.
1. Найти кол-во элементов, больших 10 и скопировать в новый массив.
2. Все отрицательные элементы заменить утроенным значением этих элементов,
3. найти среднее арифметическое значение отрицательных элементов.
4. В новом массиве найти сумму элементов с нечетными номерами. Все результаты вывести на экран.
}
uses crt;
const MaxNcount=1000; // размер массива
type
  TarrayInt=array [1..MaxNcount] of integer;


var a,b:TArrayInt; // массив элементов
    Acount:integer; // размер массива А
    Bcount:integer;  // размер массива B

//1) заполнение массива случайными числами из заданного интервала;
procedure CreateArray(var a:TArrayInt;Ncount:integer);
var i:integer;
begin
randomize;// инициализация
  for i:=1 to ncount-1 do  a[i]:=-15+random(30);
end;
//2) вывод массива на экран;
Function ShowArray(const a:TArrayInt;Ncount:integer):string;
var s:string;
    i:integer;
begin
s:='';
 for i:=1 to ncount-1 do
 if s='' then s:=s+inttostr(a[i])
 else
  s:=s+','+inttostr(a[i]);
  result:=s;
end;
procedure CreateNewMassivWhereElement10(a:TArrayInt;acount:integer;var b:TArrayInt; var bcount:integer);
var x:integer;
begin
bcount:=1;
    for x:=1 to Acount do begin
     if a[x]>10 then begin
       bcount:=bcount+1;
       b[bcount-1]:=a[x];
     end;
    end;
end;

procedure ModifArray(var a:TArrayInt;Ncount:integer);
var x:integer;
begin
    for x:=1 to Acount do
      if a[x]<0 then a[x]:=(a[x])*3;
end;
Function GetAVGElement(var a:TArrayInt;Ncount:integer):real;
var x,s,s1:integer;
begin
result:=0;
s:=0;s1:=0;
     for x:=1 to Acount do
      if a[x]<0 then begin
         s:=s+a[x];
         s1:=s1+1;
      end;
if s1>0 then
      result:=s/s1;
end;

Function GetSumElementIndexMod2(var a:TArrayInt;Ncount:integer):integer;
var x,s:integer;
begin
s:=0;
     for x:=1 to Acount do
      if (x mod 2) = 0 then s:=s+a[x];
      result:=s;
end;

begin
clrscr;
 acount:=12;
 CreateArray(a,acount);
 Writeln('Исходный массив ');
 Writeln(ShowArray(a,acount));
 // 1. Найти кол-во элементов, больших 10 и скопировать в новый массив.
 CreateNewMassivWhereElement10(a,acount,b,bcount);
 Writeln('Новый массив');
  Writeln(ShowArray(b,bcount));
 writeln('кол-во элементов ',bcount-1);
// 2. Все отрицательные элементы заменить утроенным значением этих элементов,
 Writeln('2. Все отрицательные элементы заменить утроенным значением этих элементов');
 ModifArray(a,acount);
 Writeln(ShowArray(a,acount));
//3. найти среднее арифметическое значение отрицательных элементов.
 Writeln('среднее арифметическое значение отрицательных элементов',GetAVGElement(a,acount):8:3);
//4. В новом массиве найти сумму элементов с нечетными номерами. Все результаты вывести на экран.
 Writeln('Cумму элементов с нечетными номерами (Массив 2)',GetSumElementIndexMod2(b,bcount));


 
end.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось denisbrain; 11.04.2012 в 19:38. Причина: внес изменения в процедуру поиска среднего значения
denisbrain вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на одномерные массивы scoffy Общие вопросы по Java, Java SE, Kotlin 0 06.01.2012 11:27
ЗАДАЧА одномерные массивы ДМИТРИЙ1234 Microsoft Office Excel 7 01.06.2011 16:08
Задача на одномерные массивы. Renge Помощь студентам 7 17.03.2011 21:35
Одномерные массивы задача Тату Помощь студентам 3 10.12.2010 11:08