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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2009, 23:07   #1
GOODMAN
 
Регистрация: 24.06.2009
Сообщений: 6
По умолчанию Помогите решить задачи за ICQ

Здравствуйте уважаемые форумчане!!! У меня к Вам просьба...помогите решить задания приведенные ниже. Очень нужно!!! Тому кто сделает буду безмерно благодарен!!!! Могу дать Вам штук 5 семизначных номеров icq или 20-30 восьмерок!!!!! больше у меня ничего нет!!!! Пожалуйста не кидайте нуждающегося человека!!!!!

Первое задание
Сложить схему алгоритма и программу, которая имеет главный модуль и подпрограмму упорядочивания (сортировки) масива A=[ai ]n без уменьшения (a1<=a2<=...<=ai...<=n) методом выбора. Без уменьшения количества позитивных элементов столбцов.

Второе задание приложено в рисунке
Изображения
Тип файла: jpg Задание-1.jpg (27.6 Кб, 147 просмотров)
GOODMAN вне форума Ответить с цитированием
Старый 24.06.2009, 23:21   #2
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

А по конкретней можно? Откуда берутся матрица A, векторы X и Y? Или программа "одноразовая", с именно теми данными, что и в условии?
Искусственный интеллект - фигня по сравнению с естественной глупостью
Impuls1989 вне форума Ответить с цитированием
Старый 24.06.2009, 23:28   #3
GOODMAN
 
Регистрация: 24.06.2009
Сообщений: 6
По умолчанию

Спасибо, что откликнулся! Вот у меня есть пример подобной программы

Цитата:
Program TRI;
uses crt;
const n=3;m=4;
const A:array[1..n,1..m] of Real=((3.6,0.0,1.0,2.0),
(6.0,0.0,2.0,4.0),
(9.0,0.0,3.0,16.0));
B:array[1..m,1..n] of Real=((1.0,-1.0,-2.0),
(3.0,2.2,4.0),
(2.0,4.0,1.0),
(-2.0,0.0,3.0));
var C:array[1..m,1..m] of Real;
i,j,k:Integer;
BEGIN
ClrScr;
WriteLn('************************** ***************');
WriteLn('Вещественная матрица A[',n,',',m,']');
for i:=1 to n do begin
for j:=1 to m do
Write(A[i,j]:5:1);
WriteLn;
end;
WriteLn('************************** ***************');
WriteLn('Вещественная матрица B[',m,',',n,']');
for i:=1 to m do begin
for j:=1 to n do
Write(B[i,j]:5:1);
WriteLn;
end;
WriteLn('************************** ***************');
WriteLn('Вещественная матрица C[',n,',',n,']=A[',n,',',m,']*B[',m,',',n,']');
for i:=1 to n do
for k:=1 to n do begin
C[i,k]:=0;
for j:=1 to m do
C[i,k]:=C[i,k]+A[i,j]*B[j,k];
end;
for i:=1 to n do begin
for j:=1 to n do
Write(C[i,j]:5:1);
WriteLn;
end;
END.
посмотри пожалуйста. Думаю найдешь ответ на свой вопрос. Просто я совсем темный в этих делах( Извини. Попытайся пожалуйста решить...
GOODMAN вне форума Ответить с цитированием
Старый 24.06.2009, 23:56   #4
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Схема алгоритма:
Код:
1. Найти максимальный элемент в массиве x
2. По всем строкам массива a
    обнулить буферную переменную
    по каждому элементу выбранной строки 
        найти сумму произведения элемента из массива а на элемент вектора y
    прибавить к общей сумме, буферную переменную
умножить общую сумму на максимальный элемент массива x
Вот как-то так:
Код:
Program z1; uses crt;
Type mass = array[0..4,0..4] of real;
const x:array[0..4] of real = (11,-5,-0.01,0.274,0.031);
      y:array[0..4] of real = (-245,23,80,-22,-1);
      a:mass=((1.2,1,-3,2.5,4),
                                   (3.2,0.5,0.4,0.4,-0.2),
                                   (11,-5,-0.01,0.274,0.031),
                                   (-245,23,80,-22,-1),
                                   (-13.5,-42,-22,31,8));
var m:real;
    i,j:word;
    sum,buf:real;
Procedure sort(var a:mass);
var i,j,k,l:word;
    r:real;
begin
for l:=0 to 4 do
 for i:=0 to 4 do
  begin
   r:=a[l,i];
   k:=i;
   for j:=i to 4 do
    if a[l,j]>r then
     begin
      r:=a[l,j];
      k:=j
     end;
    r:=a[l,i];
    a[l,i]:=a[l,k];
    a[l,k]:=r;
  end;

end;
Function getMax(x:array of real; arraySize:word):real;
var i:word;
    max:real;
begin
 max:=-100;
 for i:=0 to arraySize-1 do
  if x[i]>max then max:=x[i];
 getMax:=max;
end;
begin
ClrScr;
m:=getMax(x,5);
sum:=0;
 for i:=0 to 4 do
  begin
   buf:=0;
    for j:=0 to 4 do
     buf:=buf+a[i,j]*y[j];
   sum:=sum+x[i]*buf;
  end;
 sum:=sum*m;
 for i:=0 to 4 do
  begin
   for j:=0 to 4 do
    Write(a[i,j]:3:3,'  ');
    writeln;
  end;
 Writeln('Decision = ',sum:6:3);
 sort(a);
 for i:=0 to 4 do
  begin
   for j:=0 to 4 do
    Write(a[i,j]:3:3,'  ');
    writeln;
  end;
readkey;
end.
Если не обманул насчет аськи - стучись в личку (хочу себе красивый семизнак)
Искусственный интеллект - фигня по сравнению с естественной глупостью

Последний раз редактировалось Impuls1989; 25.06.2009 в 00:34.
Impuls1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачи НОГАННО Помощь студентам 9 01.02.2009 23:18
Помогите решить задачи Leks_1990 Помощь студентам 7 31.01.2009 16:45
помогите решить задачи!!! black_soul Фриланс 13 21.07.2008 09:22
Помогите решить 3 задачи VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 16 12.05.2008 22:04
Помогите решить задачи в C++ marsius Помощь студентам 4 18.04.2008 23:33