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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2008, 19:09   #1
Andrux
Пользователь
 
Регистрация: 01.11.2008
Сообщений: 46
Восклицание Помогите решить последнюю задачу, на двумерный массив



Помогите решить последнюю задачу на дву-мерный массив, чет условие, какое-то странное, не могу понять
Как это нужно записать...
Andrux вне форума Ответить с цитированием
Старый 29.12.2008, 19:17   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
uses crt;
const n=5;
var a,b:array[1..n,1..n] of real;
    i,j:integer;
    max:real;
    
function Find(x:integer):real;
var p,l:integer;
begin
l:=1;
for  p:=2 to n do
 if b[x,p]>b[x,l] then l:=p;
 Find:=b[x,l];
end;
    
    
begin
  for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     a[i,j]:=random(10);
     write(a[i,j]:3:0);
    end;
    writeln;
  end;
  writeln('===========================');
    for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     b[i,j]:=random(100);
     write(b[i,j]:3:0);
    end;
    writeln;
  end;
  writeln('=========================');
for i:=1 to n do
 begin
  max:=Find(i);
 for j:=1 to n do
  a[i,j]:=a[i,j]*max;
 end;
   for i:=1 to n do
  begin
   for j:=1 to n do
     write(a[i,j]:5:0);
    writeln;
  end;

    
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 29.12.2008, 19:22   #3
Impario
Пользователь
 
Аватар для Impario
 
Регистрация: 27.12.2008
Сообщений: 31
Радость

Цитата:
Сообщение от Andrux Посмотреть сообщение


Помогите решить последнюю задачу на дву-мерный массив, чет условие, какое-то странное, не могу понять
Как это нужно записать...
че тут непонятно Делаешь 2 квадратные матрицы порядка n так как в квадратной матрице кол-во строк и столбцов равны.
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8 5 строк 5 столбццов с каждой строки берем 1 элемент и
5 6 7 8 9 кмнажаем его с соответствующим элементом
6 7 8 9 10 2-ой матрицы. Просто тупо делаем 2-ую матрицу такова же порядка!!!
Impario вне форума Ответить с цитированием
Старый 29.12.2008, 19:29   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Impario Посмотреть сообщение
че тут непонятно Делаешь 2 квадратные матрицы порядка n так как в квадратной матрице кол-во строк и столбцов равны.
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8 5 строк 5 столбццов с каждой строки берем 1 элемент и
5 6 7 8 9 кмнажаем его с соответствующим элементом
6 7 8 9 10 2-ой матрицы. Просто тупо делаем 2-ую матрицу такова же порядка!!!
В строке второй матрицы ищешь максимум и умножаешь на него все элементы в соответствующей строке первой матрицы
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 29.12.2008, 19:42   #5
Andrux
Пользователь
 
Регистрация: 01.11.2008
Сообщений: 46
По умолчанию

спасибо )) все задачи ОК. спасибо еще раз!
alex_fcsm
Andrux вне форума Ответить с цитированием
Старый 29.12.2008, 20:09   #6
Andrux
Пользователь
 
Регистрация: 01.11.2008
Сообщений: 46
По умолчанию

или так лучше будет, как считаешь alex_fcsm
Или разницы нету...
Код:
program anz679a;
uses
    crt;
const
    n = 5;
type
    Tarr = array[1..n, 1..n] of real;
var
    a, b  : Tarr;
{==========================================}
procedure insertData(var x : Tarr);
var
    i, j : byte;
begin
    for i := 1 to n do
    begin
        for j := 1 to n do
        begin
            x[i, j] := random(30) / PI;
        end;
    end;
end;
{==========================================}
procedure printData(x : Tarr);
var
    i, j : byte;
begin
    for i := 1 to n do
    begin
        for j := 1 to n do
        begin
            write(x[i, j]:10:0);
        end;
        writeln;
    end;
end;
{==========================================}
procedure multy(var x, y : Tarr);
var
    i, j, k : byte;
    max : real;
begin
    for i := 1 to n do
    begin
        max := y[i, 1];
        for k := 1 to n do
        begin
            if(y[i, k] > max) then
            begin
                max := y[i, k];
            end;
        end;
        for j := 1 to n do
        begin
            x[i, j] := x[i, j] * max;
        end;
    end;
end;
{==========================================}
begin
    clrscr;

    textColor(red);
    insertData(a);
    insertData(b);
    writeln('1 matrica imeet vid: ');
    printData(a);
    textColor(green);
    writeln;
    writeln('2 matirca imeet vid: ');
    printData(b);
    textColor(yellow);
    multy(a, b);
    writeln;
    writeln('1 matrica posle umnozheniya priobrela vid: ');
    printData(a);

    readln;
end.

Последний раз редактировалось Andrux; 29.12.2008 в 20:13.
Andrux вне форума Ответить с цитированием
Старый 30.12.2008, 07:22   #7
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Разницы особой нет, но при выводе чисел пиши тогда вот так
Код:
write(x[i, j]:10:4);
, а то у тебя только целые части выводятся
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 30.12.2008, 08:07   #8
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Почитайте здесь рискуете нарваться на бан

Код:
const x='aba';
var s:string;
    i,n:integer;
    
begin
readln(s);
n:=0;
repeat
i:=pos(x,s);
if i<>0 then begin
              n:=n+1;
              delete(s,i,3);
             end;
until i=0;
writeln(n);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу на Одномерный массив Andrux Помощь студентам 2 29.12.2008 11:30
Помогите решить задачу на двумерный массив! Toxass Паскаль, Turbo Pascal, PascalABC.NET 3 14.12.2008 01:27
двумерный массив помогите доделать maximp1981 Общие вопросы C/C++ 1 04.12.2008 13:44