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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2012, 16:29   #1
zammmash
 
Регистрация: 11.04.2012
Сообщений: 4
Печаль задача в ПАСКАЛЕ одномерный массив

Сформировать линейный массив из 30 случайных чисел в интервале от -16 до 16. Найти среднее арифметическое положительных элементов. Все элементы, кратные 3 заменить удвоенным значением этих элементов и скопировать в новый массив. В новом массиве найти номер и значение минимального элемента. Все результаты вывести на экран.
zammmash вне форума Ответить с цитированием
Старый 12.04.2012, 17:08   #2
GoldSieg
Пользователь
 
Регистрация: 02.10.2011
Сообщений: 45
По умолчанию

Код:
Program ew;
Var 
x:array[0..100]of integer;
y:array[0..100]of integer;
i,v:integer;
Begin
For i:=0 to 30 do
begin
 x[i]:=random(16);
 end;
 for i:=0 to 30 do
 Begin
 if x[i]>0 then v:= v + x[i];
 end;
 writeln('v====',v); // среднее арифметическое значение 
 For i:=0 to 30 do
 begin
 write(x[i]:3);
 end;
 for i:=0 to 30 do
 begin
 y[i]:=x[i];
 if y[i]mod(3) = 0 then y[i]:=y[i]*2;
 end;
writeln; 
For i:=0 to 30 do
write(y[i]:3); 

 end.

код кривой.... более ровный у мя почему то не заробил)))....
GoldSieg вне форума Ответить с цитированием
Старый 12.04.2012, 17:29   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Код:
uses
  crt;

const
  n = 30;

var
  a, b: array[1..n] of integer;
  i, c1, c2, s, pos: integer;

begin
  randomize;
  s := 0;
  c1 := 0;
  c2 := 0;
  pos := 0;
  writeln('Source array:');
  for i := 1 to n do
  begin
    a[i] := random(33) - 16;
    write(a[i], ' ');
    if a[i] > 0 then
    begin
      inc(c1);
      s := s + a[i];
    end;
    if a[i] mod 3 = 0 then
    begin
      a[i] := 2 * a[i];
      inc(c2);
      b[c2] := a[i];
      if pos = 0 then
        pos := c2
       else
      if b[pos] > b[c2] then
        pos := c2;
    end;
  end;
  writeln;
  if c1 = 0 then
    writeln('No positive elements')
  else
    writeln('Average: ', s / c1:0:3);  
  writeln('Source array (with x2):');
  for i := 1 to n do
    write(a[i], ' '); 
  writeln;
  writeln('New array (only x2):');
  for i := 1 to c2 do
    write(b[i], ' '); 
  writeln;
  if pos > 0 then
    write('Minimal element: ', b[pos], ' (on position ', pos, ')')
  else
    write('Array empty');
  readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.04.2012 в 17:52.
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в паскале одномерный массив zammmash Помощь студентам 10 11.04.2012 22:02
В паскале , одномерный массив Alexxxxxx Помощь студентам 5 23.10.2011 19:41
одномерный массив на паскале druger Помощь студентам 1 09.10.2011 12:24
Одномерный массив в паскале winnie* Помощь студентам 4 04.10.2010 12:54
Одномерный массив в Паскале Masha_ Помощь студентам 0 07.11.2009 20:06