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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2012, 19:46   #1
АНИЯ...
Новичок
Джуниор
 
Регистрация: 10.04.2012
Сообщений: 3
По умолчанию Решить задачи с массивами.

Я совершенно ничего не понимаю В Паскале .И решила к вам обратиться за помощью .Решите мне пожалуйста 2 задачиБуду очень благодарна
1 задача.одномерные массивы
дан миссив Р={8;0;-4.2;-1;0;2;5;-8;3.5}Подсчитать количество положительных элементов.Оставшиеся числа вывести на печать в одну строку.
2 задача двухмерные массивы
в матрицк Т(4х4)определить в каждом столбце произведение отрицательных элементов.
И нарисовать блок -схемы
АНИЯ... вне форума Ответить с цитированием
Старый 10.04.2012, 19:46   #2
АНИЯ...
Новичок
Джуниор
 
Регистрация: 10.04.2012
Сообщений: 3
По умолчанию

Пожалуйста! жду жду жду!)
АНИЯ... вне форума Ответить с цитированием
Старый 12.04.2012, 01:22   #3
antishoker
Пользователь
 
Аватар для antishoker
 
Регистрация: 13.05.2010
Сообщений: 14
По умолчанию

1) Одномерные массивы

Код:
var i : integer;
   sum: real;
   p,c: array [1..9] of real;
begin
  p[1]: 8;
  p[2]: 0;
  p[3]: -4.2;
  p[4]: -1;
  p[5]: 0;
  p[6]: 2;
  p[7]: 5;
  p[8]: -8;
  p[9]: 3.5;
  sum:=0;
  for i:=1 to 9 do
    if p[i]>0 then
      sum:=sum+p[i];
  writeln ('Сумма положительных элементов массива P: ',sum:3:1);
  for i:=1 to 9 do
    if p[i]<=0 then
      c[i]:=p[i];
  for i:=1 to 9 do
    write ('Оставшиеся элементы массива: ',c[i]:3:1,' ');
  readln;
end.
Вроде так, на всякий случай проверьте. Схему рисовать не буду, от своих уже тошнит =)

Вторую не осилю, спать хочется, время ужо под утро.
Служба отменяется - плоскостопие 3 степени
antishoker вне форума Ответить с цитированием
Старый 12.04.2012, 02:19   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

antishoker, видно вам очень спать хочется
Посчитали сумму положительных вместо количества, вывели массив, в котором вместо положительных будут нули (т.е. лишние числа)
1-я:
Код:
uses
  crt;

var
  i, j: integer;
  p: array [1..9] of real;

begin
  p[1] := 8;
  p[2] := 0;
  p[3] := -4.2;
  p[4] := -1;
  p[5] := 0;
  p[6] := 2;
  p[7] := 5;
  p[8] := -8;
  p[9] := 3.5;
  j := 1;
  for i := 1 to 9 do
  begin
    p[j] := p[i];
    if (p[j]<=0) then
      inc(j);
  end;
  if (p[j]>0) then
      dec(j);
  writeln('Count of positive: ', 9 - j);
  write('Other elements:');
  for i := 1 to j do
    write(p[i]:5:1);
  readln;
end.
2-я:
Код:
uses
  crt;

var
  i, j: integer;
  p: array [1..4, 1..4] of real;
  s: real;

begin
  randomize;
  for i := 1 to 4 do
    for j := 1 to 4 do
      p[i, j] := random * (random(11) - 5);
  
  writeln('Matrix');
  for i := 1 to 4 do
  begin
    for j := 1 to 4 do
      write(p[i, j]:5:3, ' ');
    writeln;
  end;
  
  for j := 1 to 4 do
  begin
    s := 0;
    for i := 1 to 4 do
      if p[i, j] < 0 then
        if s = 0 then
          s := p[i, j]
        else
          s := s * p[i, j];
    if s <> 0 then
      writeln(j, ' column: ', s:0:3)
    else
      writeln(j, ' column have not negative numbres');
  end;
  
  readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.04.2012 в 02:33.
BDA вне форума Ответить с цитированием
Старый 12.04.2012, 02:36   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Да зачем же так сложно?..
Код:
begin
  WriteLn ('4');
  WriteLn ('0; -4.2; -1; 0; -8');
end.
АНИЯ..., и ещё к прочтению: http://programmersforum.ru/announcement.php?f=7
Особенно выделенную часть, где про халяву.
netrino вне форума Ответить с цитированием
Старый 12.04.2012, 09:41   #6
antishoker
Пользователь
 
Аватар для antishoker
 
Регистрация: 13.05.2010
Сообщений: 14
По умолчанию

Хе-хе =) Насчет суммы это да, просто не внимательно прочитал. А вот числа выводятся те, помоему.

Код:
p[i]<=0
В массив войдут числа меньше или равные нулю, не?
Служба отменяется - плоскостопие 3 степени
antishoker вне форума Ответить с цитированием
Старый 12.04.2012, 09:45   #7
antishoker
Пользователь
 
Аватар для antishoker
 
Регистрация: 13.05.2010
Сообщений: 14
По умолчанию

BDA, А, все, вижу. Вы правы =)
Служба отменяется - плоскостопие 3 степени
antishoker вне форума Ответить с цитированием
Старый 12.04.2012, 09:49   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Войдут-то войдут, но распечатать нужно оставшиеся, а у вас все равно 9 чисел будет печататься.

УПД Пока печатал, разобрались
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решается судьба.. Надо решить две задачи.Мне задачи, вам практика и мое уважение) romichj Общие вопросы C/C++ 3 30.03.2012 00:33
Пожалуйста помогите решить 3 задачи с массивами. Заранее благодарен. student2008 Паскаль, Turbo Pascal, PascalABC.NET 3 01.06.2009 16:34
помогите решить 3 задачи с массивами! эра Помощь студентам 5 20.02.2008 14:57
Помогите решить две задачи с массивами SHiZiK Помощь студентам 3 21.12.2007 10:01