Здравствуйте, гость ( Вход | Регистрация )

21 страниц V  « < 18 19 20 21 >  
Ответить в данную темуНачать новую тему
> Помощь с лабами
Holsten
сообщение 8.05.2009 - 00:55

Это вам не это...
*******
орден V степениорден I степени19 лет с форумом
Группа: Участник
Сообщений: 3987
Регистрация: 17.03.2004
Пользователь №: 2796


Цитата(Юлия 52 @ 6.05.2009 - 17:27) *
А одномерные массивы не очень.я на словах понимаю немного,а как в программу вбить не очень понимаю.можешь мне этот кусок кода написать если не сложно.
Код
printf("Matrix C:\n");
int element[2]; //Временная матрица для сравнения элементов
int C[6]; //Матрица для сбора максимальных элементов столбцов
for(j=0;j<7;j++)
{
    element[0]=A[0,j]; //Первый элемент и его координатa
    element[1]=0;
    for(i=1;i<4;i++)
    {
        if (element[0]<A[i,j]) //Если первый элемент меньше следующего
        {
                element[0]=A[i,j]; //Больший элемент и его координаты
                element[1]=i;
        }
        printf("%.1f\t", b[i][j]);
    }
    c[j]=A[element[1],j]
    printf("%d\t",c[j]);
}
printf("\n");

Для D всё так же.

Цитата(AsmaDey @ 6.05.2009 - 16:01) *
1 задание
Дано натуральное число, в котором все числа различны. Определить порядковый номер его минимальной цифры, считая номера от конца числа
См. выше KuT разобрался: http://forum.netall.ru/index.php?s=&sh...t&p=1935992

Цитата(AsmaDey @ 6.05.2009 - 16:01) *
2 задание
Фирма имеет 3 магазина. Известен доход каждого магазина за каж-дый из 10 дней. Определить какой из магазинов получил максималь-ный общий доход за 10 дней, в какой каждая из дней фирма получила максимальный доход.
Как-то так:
Код
printf("Магазин:\n");
int element[2];
int element0[3]; //Временная матрица для сравнения элементов
int element1[10]; //Временная матрица для сравнения элементов
int A[3,10]; //Матрица доходов в каждом магазине за каждый день
for(i=0;i<3;i++)
{
    for(j=1;j<10;j++)
    {
        element0[i]=element0[i]+A[i,j];
    }
    printf("Сумма кажд. маг.: %d\n",element0[i]);
}
element[0]=element0[0];
element[1]=0
for(i=1;i<3;i++)
{
     if (element[0]<element0[i]) //Если первый элемент меньше следующего
        {
                element[0]=element0[i]; //Меньший элемент и его координаты
                element[1]=i;
        }
}
printf("Макс. прибыль за 10 дн. у маг.N %d\n", element[1]+1);


for(i=0;i<10;i++)
{
    for(j=1;j<3;j++)
    {
        element1[i]=element1[i]+A[i,j];
    }
    printf("Сумма кажд. дня: %d\n",element1[i]);
}
element[0]=element1[0];
element[1]=0
for(i=1;i<10;i++)
{
     if (element[0]<element1[i]) //Если первый элемент меньше следующего
        {
                element[0]=element1[i]; //Меньший элемент и его координаты
                element[1]=i;
        }
}
printf("Макс. прибыль в день N %d\n", element[1]+1);




AsmaDey цена: 4 литра сока на волейбольную площадку корп.1106.


Цитата(AsmaDey @ 6.05.2009 - 16:01) *
3 задание
Есть трехмерная матрица B[8][8][6].Найти максимальный периметр в этой матрице.
Для передставления: B[x][y][z]. Подсчёт 6 периметров для проскостей в координатах XY
Код
int element[2];
int PeremSumma[6];
for(z=0;z<6;z++)
{
   for(x=0;x<8;x++)
   {
      for(y=0;y<8;y++)
      {
          if ((x=0||x=7)||(y=0||y=7))
         {
            PeremSumma[z]=PeremSumma[z]+B[x][y][z]
         }
      }
   }
}
element[0]=element0[0];
element[1]=0
for(z=1;z<6;z++)
{
     if (element[0]<PeremSumma[z]) //Если первый элемент меньше следующего
        {
                element[0]=PeremSumma[z]; //Меньший элемент и его координаты
                element[1]=i;
        }
}
printf("Макс. сумма по периметру в проскости XY под N %d\n", element[1]+1);
Сравнить с суммой периметров других плоскостей.
Перейти в начало страницы
 
+Цитировать сообщение
Юлия 52
сообщение 16.05.2009 - 21:51

Новичок
*

Группа: Участник
Сообщений: 7
Регистрация: 4.05.2009
Пользователь №: 26293


[quote name='Holsten' date='8.05.2009 - 01:55' post='1936759']
Код
printf("Matrix C:\n");
int element[2]; //Временная матрица для сравнения элементов
int C[6]; //Матрица для сбора максимальных элементов столбцов
for(j=0;j<7;j++)
{
    element[0]=A[0,j]; //Первый элемент и его координатa
    element[1]=0;
    for(i=1;i<4;i++)
    {
        if (element[0]<A[i,j]) //Если первый элемент меньше следующего
        {
                element[0]=A[i,j]; //Больший элемент и его координаты
                element[1]=i;
        }
        printf("%.1f\t", b[i][j]);
    }
    c[j]=A[element[1],j]
    printf("%d\t",c[j]);
}
printf("\n");

Для D всё так же.

Извините пожалуйста.только сегодня узнала,что всю мою лабу нужно было сделать с помощью функций.скажите пожалуйста где,что и как надо заменить.
Перейти в начало страницы
 
+Цитировать сообщение
Holsten
сообщение 17.05.2009 - 00:12

Это вам не это...
*******
орден V степениорден I степени19 лет с форумом
Группа: Участник
Сообщений: 3987
Регистрация: 17.03.2004
Пользователь №: 2796


Цитата(Юлия 52 @ 16.05.2009 - 21:51) *
Извините пожалуйста.только сегодня узнала,что всю мою лабу нужно было сделать с помощью функций.скажите пожалуйста где,что и как надо заменить.
Как-то так для заполнения матриц:
Код
void main()
{
   int c[3][7], d[3][7]

   c = newMatrix ('C')
   d = newMatrix ('D')

}

function newMatrix (char charNameMatrix)
{
   int editMatrix[3][7]
   int i=0, j=0;
   srand( (unsigned)time( NULL ) );
   printf("Matrix %s:\n", nameMatrix);
   for(i=0;i<7;i++)
   {
       for(j=0;j<3;j++)
       {
           editMatrix[i][j]=rand()%100;
           printf("%.1f\t", editMatrix[i][j]);
       }
       printf("\n");
   }
   return editMatrix;
}


Тоже самое делается и для других блоков программы, которые делают одни и те же операции, например, для разных матриц.
Перейти в начало страницы
 
+Цитировать сообщение
KuT
сообщение 17.05.2009 - 11:52
Частый гость
***

Группа: Участник
Сообщений: 296
Регистрация: 15.04.2005
Пользователь №: 7496


Помогите с Pascal. Надо решить 2 задачи, а я толком мало чего знаю по паскалю.... Пожалуйсто помогите!

Integer
С начало суток прошло N секунд (N - целое). Найти количество секунд, прошедших с начала последней секунды.

For
Дано целое число N (>0). Используя один цикл. Найти сумму 1+1/(1!)+1/(2!)+1/(3!)+...1/(N!)

Сообщение отредактировано KuT - 17.05.2009 - 20:58
Перейти в начало страницы
 
+Цитировать сообщение
Reiden
сообщение 18.05.2009 - 19:34

Продвинутый новичок
**

Группа: Участник
Сообщений: 62
Регистрация: 14.02.2007
Пользователь №: 19081


Цитата(KuT @ 17.05.2009 - 12:52) *
Помогите с Pascal. Надо решить 2 задачи, а я толком мало чего знаю по паскалю.... Пожалуйсто помогите!

Integer
С начало суток прошло N секунд (N - целое). Найти количество секунд, прошедших с начала последней секунды.

For
Дано целое число N (>0). Используя один цикл. Найти сумму 1+1/(1!)+1/(2!)+1/(3!)+...1/(N!)

Вот 2 задача, первой задачи я чуть условие не понял...

For
Дано целое число N (>0). Используя один цикл. Найти сумму 1+1/(1!)+1/(2!)+1/(3!)+...1/(N!)
Код
program pomow;
var n,i,buff:integer;
rezz:real;
function fact_f(a, b:integer):longint;
var
rez:longint;
i:integer;
begin
rez:=1;
for i:=a to b do
  rez:=rez*i;
  fact_f:=rez;
end;
begin
rezz:=1;
writeln('Введите n');
readln(n);
for i:=1 to n do
  begin
   buff:=fact_f(1,i);
   rezz:=rezz+(1/buff);
  end;
writeln('Ответ = ',rezz:8:5);
end.
Перейти в начало страницы
 
+Цитировать сообщение
KuT
сообщение 18.05.2009 - 22:29
Частый гость
***

Группа: Участник
Сообщений: 296
Регистрация: 15.04.2005
Пользователь №: 7496


2Reaiden - Огромное человеческое спасибо!

Меня попросил друг помочь с лабой тоже по Паскалю, ну точней задать тут вопрос (он не может зарегится на форуме), хелп плз!!

For
Дано вещественное число А или целое цисло N(>0). Используя один цикл, Найти значения выражения 1+A+A2+A3+...+(-1)N-AN

Case
Дано целое число в диапозоне 100-999. Вывести строку описания данного числа. Напиример 256 "двести пятьдесят шесть".

Boolean
Проверить истинность высказывания "Среди 3-ех данных целых чисел есть хотябы одна пара совпадающих"

Сообщение отредактировано KuT - 18.05.2009 - 22:42
Перейти в начало страницы
 
+Цитировать сообщение
Reiden
сообщение 20.05.2009 - 05:56

Продвинутый новичок
**

Группа: Участник
Сообщений: 62
Регистрация: 14.02.2007
Пользователь №: 19081


Boolean
Сделал как понял tongue.gif
Код
program Boolean;
var
a,b,c:integer;
begin
writeln('Введите 3 числа');
readln(a,b,c);
if (a=b) or (a=c) or (b=c) then writeln('Среди 3-ех данных целых чисел есть хотя бы одна пара совпадающих = true') else
writeln('Среди 3-ех данных целых чисел есть хотя бы одна пара совпадающих = false');
end.


For
Дано вещественное число А или целое цисло N(>0). Используя один цикл, Найти значения выражения 1+A+A2+A3+...+(-1)N-AN

1+A+A2+A3+...+(-1)N-AN - это как? Что означает A2,A3 ,типо А*2,А*3 или как? И сразу насчет этого (-1)N-AN. Объяснишь сделаю...
Перейти в начало страницы
 
+Цитировать сообщение
Cartman
сообщение 23.05.2009 - 21:23

Постоялец форума
*****

Группа: Участник
Сообщений: 811
Регистрация: 6.05.2005
Пользователь №: 7929


Парни, помогите пожалуйста!

с бейсиком совсем туго. работал тока с делфи и лабвью. повозился и понял что одному мне точно не справиться.

вот задача

Прикрепленный файл  3123123123.JPG ( 49.48 килобайт ) Кол-во скачиваний: 0


сама таблица ]]>http://zalil.ru/upload/27685978]]>

сдавать уже скоро надо, а с программированием вот такая вот беда.

Помогите!:)
Перейти в начало страницы
 
+Цитировать сообщение
KuT
сообщение 31.05.2009 - 19:28
Частый гость
***

Группа: Участник
Сообщений: 296
Регистрация: 15.04.2005
Пользователь №: 7496


2Reiden - Огромное спасибо!

Помогите с С++.
Задача:
Есть трехмерная матрица B[8][8][6].Найти максимальный периметр в этой матрице.

Код:
int element[2];
int PeremSumma[6];
int z, x, y, i, B;
for(z=0;z<6;z++)
{
for(x=0;x<8;x++)
{
for(y=0;y<8;y++)
{
if((x==0||x==7)||(y==0||y==7))
{
PeremSumma[z]=PeremSumma[z]+B[x][y][z];
}
}
}
}
element[0]=element[0];
element[1]=0;
for(z=1;z<6;z++);
{
if (element[0]<PeremSumma[z])
{
element[0]=PeremSumma[z];
element[1]=i;
}

}
printf("Max. summa po perimetru v ploskosti XY pod N %d\n", element[1]+1);

return 0;
}



Она выдает следующие ошибк:
Z:\Lab1_v1\Lab1_v1.cpp(265) : error C2109: subscript requires array or pointer type
Z:\Lab1_v1\Lab1_v1.cpp(265) : error C2109: subscript requires array or pointer type
Z:\Lab1_v1\Lab1_v1.cpp(265) : error C2109: subscript requires array or pointer type
Error executing cl.exe.

Lab1_v1.exe - 3 error(s), 0 warning(s)

Сообщение отредактировано KuT - 31.05.2009 - 19:28
Перейти в начало страницы
 
+Цитировать сообщение
Holsten
сообщение 31.05.2009 - 21:43

Это вам не это...
*******
орден V степениорден I степени19 лет с форумом
Группа: Участник
Сообщений: 3987
Регистрация: 17.03.2004
Пользователь №: 2796


Цитата(KuT @ 31.05.2009 - 19:28) *
Она выдает следующие ошибк:
Z:\Lab1_v1\Lab1_v1.cpp(265) : error C2109: subscript requires array or pointer type
Не мудрено. Как объявлена переменная "B":
Цитата(KuT @ 31.05.2009 - 19:28) *
int z, x, y, i, B;
И почему после такого объявления обращение к этой переменной идёт как к массиву:
Цитата(KuT @ 31.05.2009 - 19:28) *
PeremSumma[z]=PeremSumma[z]+B[x][y][z];
Перейти в начало страницы
 
+Цитировать сообщение
pokemonych
сообщение 22.09.2009 - 14:02

Частый гость
***

Группа: Участник
Сообщений: 293
Регистрация: 27.09.2005
Пользователь №: 9901


Товарищи, помогите с заданием.

Динамические структуры. C++
В составе программы описать функцию, которая включает в упорядоченный по убыванию список новое значение, введенное с клавиатуры, таким образом, чтобы не нарушать упорядоченность.

Заранее огромное спасибо.

Сообщение отредактировано pokemonych - 22.09.2009 - 14:14
Перейти в начало страницы
 
+Цитировать сообщение
Mystmuse
сообщение 24.09.2009 - 15:48

Любознательный
******
орден V степени
Группа: Участник
Сообщений: 1724
Регистрация: 7.04.2005
Пользователь №: 7382


Ищу помощи в написании на Delphi вот этого задания:
Задать значения вещественным элементам матриц F={fij | i=1,2,3,4; j=1,2,3} и T={tkl | k=1,2; l=1,2,…,5} и для каждой из матриц опpеделить количество положительных, отpицательных и нулевых элементов


Сообщение отредактировано Mystmuse - 24.09.2009 - 15:48
Перейти в начало страницы
 
+Цитировать сообщение
Holsten
сообщение 24.09.2009 - 16:55

Это вам не это...
*******
орден V степениорден I степени19 лет с форумом
Группа: Участник
Сообщений: 3987
Регистрация: 17.03.2004
Пользователь №: 2796


Цитата(Mystmuse @ 24.09.2009 - 16:48) *
Ищу помощи в написании на Delphi вот этого задания:
Возможно для вас это будет ново, но это будет примерно тоже самое, что например это: http://forum.netall.ru/index.php?s=&sh...t&p=1939862

Для того, чтобы посчитать количество положительных элементов соответсвенно:
Код
  
int PologitelnCount;
int NolevieCount;
int OtricatelnCount;
PologitelnCount=0;
for(i=0;i<7;i++)
   {
       for(j=0;j<3;j++)
       {
           if matrix(i,j)>0 then PologitelnCount=PologitelnCount+1
           if matrix(i,j)>0 then NolevieCount=NolevieCount+1
           if matrix(i,j)>0 then OtricatelnCount=OtricatelnCount+1
       }
   }

...

//Тут выводим результат подсчёта в переменной
ОбъктLaibel1.Text=PologitelnCount;
ОбъктLaibel2.Text=NolevieCount;
ОбъктLaibel3.Text=OtricatelnCount;


Только в свой синтаксис вписать, который обычно прилагается к выполняемым лабораторным работам и подробным описание, что же вам делать для выполнения задания.

Удачи!

Сообщение отредактировано Holsten - 24.09.2009 - 17:02
Перейти в начало страницы
 
+Цитировать сообщение
Holsten
сообщение 25.09.2009 - 17:19

Это вам не это...
*******
орден V степениорден I степени19 лет с форумом
Группа: Участник
Сообщений: 3987
Регистрация: 17.03.2004
Пользователь №: 2796


Цитата(Mystmuse @ 25.09.2009 - 11:57) *
readln F[i,j]; {Хочу чтобы вывел на экран типа
F=(элементы матрицы), а он не понимает что такое F}
Вы хотите печатать, говоря программе ЧИТАЙ, вот вас машина и не понимает.

А вообще для печати у вас введена процедура: WriteMatrix, задаёте все параметры и всё само само печатается согласно алгоритму заложенному в эту процедуру.

Если же всё же хочется напечатать по отдельности, то необходимо:
Код
writeln(Name);
{или}
write ( Massiv [(i-1) * M + j] : w : d );


Цитата(Mystmuse @ 25.09.2009 - 11:57) *
Что за названия Char, String и прочая лабуда..
Тип данных заложенных в переменную или константу. Например, Char - это символ занимает в памяти 8бит. String - некий набор символов. и т.п.

Код
TMatrixF = Array [SizeF,1..M] of Real; {???}
- тут объявляется двумерный массив

Код
Procedure ReadMatrix {---Ввод матрицы T---}
(Name : String; {???}
Var T : TMatrixT ); {Введенная матрица T}
Var i : SizeT; {???}
j : 1..D; {???}
см. пример из лабораторной, это значения которые нужно задать для вызова этой процедуры, например:
Код
ReadMatrix ('A', A, i , j);
Перейти в начало страницы
 
+Цитировать сообщение
Mystmuse
сообщение 26.09.2009 - 23:27

Любознательный
******
орден V степени
Группа: Участник
Сообщений: 1724
Регистрация: 7.04.2005
Пользователь №: 7382


Итак, вот кажется оно. Прошу проверить её еще раз, несмотря на то, что компилятор не жалуется и хочу спросить: а как мне увидеть то что там делается?? Я хочу сам вбить матрицы и пуст ищет эти элементы. P.S. не запихнул поиск всех элементов в 1 цикл, так как преподу видите-ли это не нравится. Хоть в задании и написаны разноразмерные матрицы, их принимаем за одноразмерные и пихаем в константу. Вопрос, а тут я написал вообще 2 матрицы или 1???
CODE
{Прграмма находит колличество положительных, отрицательных и нулевых элементов}
Program Variant10;

{$APPTYPE CONSOLE}

uses
SysUtils;

Const
n = 4;
m = 3;
Type
TMatrix = Array [1..n,1..m] of Real;

Procedure ReadMatr (Var Matr:TMatrix);
Var
i,j : integer;
Begin
for i:=1 to n do
for j:=1 to m do
Begin
write (' [',i,',',j,']=');
readln ( Matr[i,j] );
end;
end;

Procedure WriteMatr (Matr:TMatrix);
Var
i,j : integer;
Begin
for i:=1 to n do
for j:=1 to m do
write ( Matr[i,j] );
writeln;
end;

Function OtricatEements (Matr:TMatrix) : integer;
Var
kol: integer;
i,j: integer;
Begin
kol:=0;
for i:=1 to n do
for j:=1 to m do
if (Matr[i,j]<0) then
kol:= kol+1;
result:= kol;
end;
Function PolojitEements (Matr:TMatrix) : integer;
Var
kol: integer;
i,j: integer;
Begin
kol:=0;
for i:=1 to n do
for j:=1 to m do
if (Matr[i,j]>0) then
kol:= kol+1;
result:= kol;
end;
Function NulevEements (Matr:TMatrix) : integer;
Var
kol: integer;
i,j: integer;
Begin
kol:=0;
for i:=1 to n do
for j:=1 to m do
if (Matr[i,j]=0) then
kol:= kol+1;
result:= kol;
end;
end.


Сообщение отредактировано Mystmuse - 26.09.2009 - 23:45
Перейти в начало страницы
 
+Цитировать сообщение
T_Quadra
сообщение 27.09.2009 - 15:41

Продвинутый новичок
**

Группа: Участник
Сообщений: 59
Регистрация: 15.07.2008
Пользователь №: 23225


Цитата(Mystmuse @ 27.09.2009 - 00:27) *
а как мне увидеть то что там делается??

Увидеть - в смысле результат? Вывести на экран. Или если увидеть, как изменяются значения в процессе выполнения - для этого там есть отладчик.
Ну, Вы объявили и описали процедуры и функции, но Вы ни одной матрицы там не ввели.
Попробовала так.
CODE

unit Unit1;
{$APPTYPE CONSOLE}
interface

implementation

Type
TMatr = array of array of real;

Var matr34, matr25: TMatr;
m, n, p, o, nul: integer;

Procedure ReadM(Var matr: Tmatr);
Var i, j: integer;
begin
for i:=0 to n-1 do
begin
for j:=0 to m-1 do
begin
write('m[',i+1,',',j+1,']=');
read(matr[i,j]);
end;
writeln;
end;
end;
Procedure WriteM(Var Matr: Tmatr);
Var i, j: integer;
begin
for i:=0 to n-1 do
begin
for j:=0 to m-1 do
begin
write(matr[i,j]:4:2,' ');
end;
writeln;
end;
end;
Function Pologit(Var Matr: Tmatr): integer;
Var
i,j, k: integer;
begin
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
if matr[i,j]>0 then
k:=k+1;
result:=k;
end;
Function Otric(Var Matr: Tmatr): integer;
Var
i,j, k: integer;
begin
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
if matr[i,j]<0 then
k:=k+1;
result:=k;
end;
Function Nulev(Var Matr: Tmatr): integer;
Var
i,j, k: integer;
begin
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
if matr[i,j]=0 then
k:=k+1;
result:=k;
end;
begin
p:=0;
n:=3;
m:=4;
SetLength(matr34, n, m);
ReadM(matr34);
WriteM(matr34);
n:=2;
m:=5;
SetLength(matr25, n, m);
ReadM(matr25);
WriteM(matr25);
n:=3;
m:=4;
p:=Pologit(matr34);
o:=Otric(matr34);
nul:=Nulev(matr34);
writeln('Kol-vo pologitelnih (1): ', p);
writeln('Kol-vo otricatelnih (1): ', o);
writeln('Kol-vo nulevih (1): ', nul);
writeln;
n:=2;
m:=5;
p:=Pologit(matr25);
o:=Otric(matr25);
nul:=Nulev(matr34);
writeln('Kol-vo pologitelnih (2): ', p);
writeln('Kol-vo otricatelnih (2): ', o);
writeln('Kol-vo nulevih (2): ', nul);
readln;
readln;
end.

Наверное, как-то так. matr34, matr25 - динамические массивы для матриц 3х4 и 2х5. Вроде верно, проверьте, пож-ста, сами.
Перейти в начало страницы
 
+Цитировать сообщение
Mystmuse
сообщение 30.09.2009 - 19:06

Любознательный
******
орден V степени
Группа: Участник
Сообщений: 1724
Регистрация: 7.04.2005
Пользователь №: 7382


Пасиба огромное. А не напомните принцип нахождения макс. элемента для каждой строки? Как это выглядит? Типо берем первый и считаем его максом, а потом пробегаемся по всем остальным?
Перейти в начало страницы
 
+Цитировать сообщение
T_Quadra
сообщение 30.09.2009 - 20:34

Продвинутый новичок
**

Группа: Участник
Сообщений: 59
Регистрация: 15.07.2008
Пользователь №: 23225


Цитата(Mystmuse @ 30.09.2009 - 20:06) *
Типо берем первый и считаем его максом, а потом пробегаемся по всем остальным?

Ну да. Элемент, с кот. сравниваем, оказался больше - назначаем его максимальным, сравниваем со следующим и т.д. до конца строки.
Перейти в начало страницы
 
+Цитировать сообщение
Mystmuse
сообщение 8.10.2009 - 18:48

Любознательный
******
орден V степени
Группа: Участник
Сообщений: 1724
Регистрация: 7.04.2005
Пользователь №: 7382


Так еще вопрос.
Как сформировать 2 массива допустим X и Y из положительных элементов каждой из матриц, допустим C и D. Как пишется?
Перейти в начало страницы
 
+Цитировать сообщение
T_Quadra
сообщение 10.10.2009 - 23:29

Продвинутый новичок
**

Группа: Участник
Сообщений: 59
Регистрация: 15.07.2008
Пользователь №: 23225


Извините, бываю здесь нечасто.
Если ещё актуально, то можно хотя бы вот так:
CODE
unit Unit1;
{$APPTYPE CONSOLE}
interface

implementation
Type
TMatr = array of array of real;

Var matr1, matr2: TMatr;
matr11, matr21: array of real;
k, i, j, n, m: integer;

Потом описываем процедуры ReadM, WriteM и функцию Pologit, как в предыдущем примере.
Потом можно так:
CODE
begin
write('Set number of rows: ');
readln(n);
write('Set number of cols: ');
readln(m);
SetLength(matr1, n, m);
ReadM(matr1);
WriteM(matr1);
k:=Pologit(matr1);
SetLength(matr11, k);
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
if matr1[i,j]>0 then
begin
matr11[k]:=matr1[i,j];
k:=k+1;
end;
writeln;
write('result 1: ');
for i:=0 to k-1 do
write(matr11[i]:4:2,' ');
writeln;
writeln;
// То же самое, только со 2-й матрицей.
write('Set number of rows: ');
readln(n);
write('Set number of cols: ');
readln(m);
SetLength(matr2, n, m);
ReadM(matr2);
WriteM(matr2);
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
if matr2[i,j]>0 then
begin
matr21[k]:=matr2[i,j];
k:=k+1;
end;
writeln;
write('result 2: ');
for i:=0 to k-1 do
write(matr21[i]:4:2,' ');
readln;
readln;
Перейти в начало страницы
 
+Цитировать сообщение

21 страниц V  « < 18 19 20 21 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 24.04.2024 - 13:25