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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 18:28   #1
Inkognito99
 
Регистрация: 05.05.2010
Сообщений: 7
По умолчанию Паскаль. Одномерный массив.

Люди добрые! помогите пожалуйста написать программу!

В одномерном массиве, состоящем из п вещественных
элементов, вычислить:
1. Количество отрицательных элементов массива.
2. Сумму модулей элементов массива, расположенных
после минимального по модулю элемента.
Заменить все отрицательные элементы массива их
квадратами и упорядочить элементы массива по
возрастанию.

1пункт я еще вроде как сделал) а вот 2ой никак
Inkognito99 вне форума Ответить с цитированием
Старый 05.05.2010, 19:30   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
uses crt;
Const
 n=6;
Type
 a=array[1..n] of integer;
var
    i,l,j,kol:integer;
    n1:integer;
    min,sum,x,pos:integer;
    c:a;
    begin
clrscr;
randomize;
writeln('Исходный массив K: ');
for i:=1 to n do
    begin
     c[i]:=random(10)-5;
     write(c[i],' ');
 end;
   writeln;
 min:=c[1];
for i:=1 to n do
if abs(c[i])<abs(min) then
 begin
  min:=c[i];
  pos:=i;
 end;
writeln('min=',min);
writeln;
sum:=0;
for i:=pos+1 to n do
begin
sum:=sum+abs(c[i]);
end;
writeln('Сумма модулей элементов после abs(min)= ',sum);
for i:=1 to n do
if c[i]<0 then
begin
c[i]:=sqr(c[i]);
inc(kol);
end;
writeln;
writeln('Массив отсортированный по возрастанию: ');
for i:= 1 to n do
    for j:= i to n do
      if c[i]>c[j] then
      begin
        x:=c[i];
        c[i]:=c[j];
        c[j]:=x;
      end;
for i:=1 to n do
  begin
    write(c[i],' ');
  end;
  writeln;
  writeln('Количество отрицательных элементов: ',kol);
end.
Вот.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 06.05.2010, 18:41   #3
Inkognito99
 
Регистрация: 05.05.2010
Сообщений: 7
По умолчанию

ROMA2PVT, Спасибо большое дружище))))
Inkognito99 вне форума Ответить с цитированием
Старый 06.05.2010, 18:41   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Не за что.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 28.05.2010, 18:41   #5
Marino444ka
 
Регистрация: 28.05.2010
Сообщений: 9
По умолчанию

Помогите пожалуйста!!! двумерный массив вроде поняла, так одномерный не поддается(

Дан масив целых чисел... Все элементы массива, предшествующие наименьшему числу, домножить на это число.
Marino444ka вне форума Ответить с цитированием
Старый 28.05.2010, 18:59   #6
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Показывайте наработки.Раз пытались.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 28.05.2010, 19:09   #7
Marino444ka
 
Регистрация: 28.05.2010
Сообщений: 9
По умолчанию

Я так поняла,что сначала нужно найти min число, а затем его домножать, а вот как... min нашла, не знаю как домножать(((

вот наименьшее:
writeln (Массив А);
for i:=1 to n do
write (a[i]:5);
writeln;
min:=a[i]; imin:=1;
for i:=2 to n do
if a[i]<min then begin
min:=a[i]:
imin:=i;
end;
Marino444ka вне форума Ответить с цитированием
Старый 28.05.2010, 19:10   #8
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

всё просто:
Код:
uses
   crt;
var
    i,min,n,posiz:integer;
     c:array[1..100] of integer;
    begin
clrscr;
randomize;
write('Введите количество элементов: ');
readln(n);
writeln('Исходный массив C: ');
for i:=1 to n do
    begin
     c[i]:=random(10)-5;
     write(c[i]:2,' ');
 end;
   writeln;
 min:=c[1];
 posiz:=1;
for i:=1 to n do
if c[i]<min then
 begin
  min:=c[i];
  posiz:=i;
 end;
writeln('MIN[',posiz,']:=',min);
for i:=1 to posiz-1 do
begin
c[i]:=c[i]*min;
end;
writeln;
writeln('Элементы массива до min умноженные на мин: ');
for i:=1 to n do
begin
write(c[i]:2,' ');
end;
readkey;
end.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 28.05.2010, 19:34   #9
Marino444ka
 
Регистрация: 28.05.2010
Сообщений: 9
По умолчанию

Спасибо)))) все идет!!!!!!=)
только меня знаете что смущает.... задала я количество элементов 6:
3 1 4 -1 -2 -3
MIN:=4
Почему Min 4?
Marino444ka вне форума Ответить с цитированием
Старый 28.05.2010, 19:44   #10
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

перепроверьте.И посмотрите как код переписали.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив Паскаль integral4 Помощь студентам 3 14.03.2010 14:28
Одномерный массив.Паскаль **star** Помощь студентам 1 05.11.2009 19:52
Одномерный массив, паскаль. ene21 Помощь студентам 1 02.10.2009 14:39
Паскаль. Одномерный массив deceiver Помощь студентам 7 21.03.2009 15:12