Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Turbo Pascal] Двумерный массив


Автор: Rishat 12.1.2007, 23:53
Помогите программисты, завтра зачет, а мне срочно надо решить эту задачку.
заранее огромное спасибо!!!


Тема задания: Задание по двумерному массиву.
Тип задания: Вставка, удаление и перестановка элементов.

(!)Само задание: Вставить второй столбец после первого столбца, в котором все элементы положительны. Если такого столбца нет, то сообщить об этом.


Человеческий респект. Помогите человеку!

Автор: Rodman 14.1.2007, 13:20
Код

Uses crt;
var a:array[1..10,1..10] of integer;
     i,j,h,n,gf:integer;
       ee:boolean;
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
 for j:=1 to n do
  begin
   readln(a[i,j])
  end;
ee:=fasle;
for i:=1 to n do
begin
 gf:=0;
 for j:=1 to n do
  begin
    if(a[j,i]>0)then
      inc(gf)
  end;
  if(gf=n)and(ee=false)then
  begin
    for h:=1 to n do
    begin
         gf:=a[h,i];
         a[h,i]:=a[h,2];
         a[h,2]:=gf;
    end;  
    ee:=true;
  end;
end;
if(ee=false)then
   writeln('No cols for change')
 for i:=1 to n do
  for j:=1 to n do
   begin
      gotoxy(i*4,j*2);
      write(a[i,j]);
   end;
readln;
END.

Автор: Max1204 19.12.2011, 20:10
Помогите пожалуйста с заданием, очень нужна помощь.

Задан двумерный массив А из 4-х строк и 4-х столбцов. Составить программу, которая подсчитывает произведение элементов массива, лежащих вне главной диагонали.
(На турбо паскале)

Буду признателен за помощь, заранее спасибо.


Автор: t_gran 20.12.2011, 10:51
Max1204, на будущее: создавайте новую тему!
Код

const
   CSize = 4;
type
   TArray = array [1..CSize, 1..CSize] of byte;

procedure FillArray(var theArray: TArray);
var
   i, j: byte;
begin
   randomize;

   for i := 1 to CSize do
      for j := 1 to CSize do
         theArray[i][j] := random(8)+1;
end;

procedure PrintArray(theArray: TArray);
var
   i, j: byte;
begin
   for i := 1 to CSize do
   begin
      for j := 1 to CSize do
         write(theArray[i][j]:2);
      writeln;
   end;
end;

function Calc(theArray: TArray): longword;
var
   i, j: byte;
begin
   Calc := 1;

   for i := 1 to CSize do
      for j := 1 to CSize do
         if (i <> j) then
            Calc := Calc * theArray[i][j];
end;

var
   arr: TArray;

begin
   FillArray(arr);
   PrintArray(arr);

   writeln('calc = ', Calc(arr));
end.

http://s2.ipicture.ru/

Автор: Max1204 20.12.2011, 15:44
Спасибо большое, но почему то паскаль пишет мол незнакомый идентификатор longword;

Версия языка 7.1

Автор: t_gran 20.12.2011, 16:11
Max1204, блин, ну это же вообще не проблема. Воткните беззнаковый тип данных который имеется в наличие и всё. А лучше пользуйтесь FreePascal, PascalABC или Delphi.

Автор: Max1204 20.12.2011, 16:18
В нашем универе изучается только TP 7.1

Извиняюсь за нубство, каким без знаковым типом данных нужно заменить.

Автор: t_gran 20.12.2011, 16:23
http://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=turbo+pascal+%D1%82%D0%B8%D0%BF%D1%8B+%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)