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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2011, 14:27   #1
IluaIvanov
Новичок
Джуниор
 
Регистрация: 06.01.2011
Сообщений: 1
По умолчанию паскаль

Добрый день, не могу решить 3 задачи по паскалю, если для кого-то не будет сложно, буду рад помощи:

1) Дан массив F1, ... , F20.
Если модуль суммы положительных элементов больше модуля суммы отрицательных элементов, то заменить положительные элементы нулями.
(с каким то внешним файлом)

2) Даны массивы
F1, ... , F15 – фамилии рабочих:
Z1, ... , Z15 – зарплата, начисленная за месяц.
Вывести список рабочих, чья зарплата выше средней, и список рабочих, чья зарплата ниже средней. Указать фамилию рабочего, с максимальной зарплатой.

3) В матрице найти два столбца с равными суммами и поменять их элементы местами.

заранее спасибо =)
PS: если тема с похожими задачами уже поднималась, дайте ссылочку пожалуйста (поиск не дал результатов)
IluaIvanov вне форума Ответить с цитированием
Старый 06.01.2011, 14:46   #2
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

Вроде так 1
Код:
 var
 f:array[1..20] of integer;
 p,o,i:integer;
begin
randomize;
p:=0;  o:=o+1;
for i:=1 to 20 do
begin

f[i]:=random(40)-20;
write(f[i],' ');
if f[i]>0 then p:=p+1 else o:=o+1;
end;
writeln;

if abs(p)>abs(o) then
for i:=1 to 20 do      begin
if f[i]>0 then f[i]:=0;
write(f[i],' ');
end else
for i:=1 to 20 do
write(f[i],' ');
readln
end.
Я тебе помог, добавь отзыв)))))
Статьи по программированию
MoBLer вне форума Ответить с цитированием
Старый 06.01.2011, 16:59   #3
k0tone
Пользователь
 
Аватар для k0tone
 
Регистрация: 09.11.2010
Сообщений: 99
По умолчанию

Цитата:
В матрице найти два столбца с равными суммами и поменять их элементы местами.
Код:
program matrica;
uses crt;
const n=4;
var a:array [1..n, 1..n] of integer;
    sum:array [1..n] of integer;
    i,j,k,l:integer;

begin
 clrscr;

 for i:=1 to n do
  for j:=1 to n do
   readln(a[i,j]);

 clrscr;

 for i:=1 to n do
  begin
   for j:=1 to n do
    write(a[i,j]:5);
    writeln;
  end;

 for j:=1 to n do
  for i:=1 to n do
   sum[j]:=sum[j]+a[i,j];
  
 for i:=1 to n-1 do
  for j:=1 to n-i do
   if (sum[i]=sum[j+i]) then
    begin
     for k:=1 to n do
      begin
       l:=a[k,i];
       a[k,i]:=a[k,j+i];
       a[k,j+i]:=l;
      end;
     i:=n-1;
    end;

 writeln;

 for i:=1 to n do
  begin
   for j:=1 to n do
    write(a[i,j]:5);
    writeln;
  end;

 readln;
end.
Если я вам помог - нажмите на весы пот аватаркой!

Последний раз редактировалось k0tone; 06.01.2011 в 19:12.
k0tone вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23