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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2010, 21:38   #1
Артл
Пользователь
 
Регистрация: 16.08.2010
Сообщений: 66
По умолчанию двухмерный массив(паскаль)

в каждой строке поменять первый элемент с последним
я вот сделал, но что первый элемент заменяется последним, а последний первым нет что исправить?

Код:
for i:=1 to m do
begin
for j:=1 to n  do
begin
c:=a[i,1];
  a[i,1]:=a[i,n];
  a[i,n]:=c;
write(a[i,j],' ')
Артл вне форума Ответить с цитированием
Старый 28.12.2010, 21:49   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Вообще-то это в один цикл делается вот так
Код:
for i := 1 to m do
begin
    temp := a[i,1];
    a[i,1] := a[i,n];
    a[i,n] := temp;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 21:56   #3
Артл
Пользователь
 
Регистрация: 16.08.2010
Сообщений: 66
По умолчанию

Код:
for i:=1 to m do

begin
c:=a[i,1];
  a[i,1]:=a[i,n];
  a[i,n]:=c;
write(a[i,j],' ');
как то неправильно выводится, что не так?
Артл вне форума Ответить с цитированием
Старый 28.12.2010, 21:59   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Что не правильно выводится??
Кидай уже весь код тогда и скажу что не правильно!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 22:02   #5
Артл
Пользователь
 
Регистрация: 16.08.2010
Сообщений: 66
По умолчанию

Код:
uses crt;
const m=3;n=6; var i,j,c:integer;
var a:array[1..m,1..n] of integer;
begin
clrscr;
writeln('Ìàññèâ:');
for i:=1 to m do
begin
for j:=1 to n do
 begin
  a[i,j]:=random(10);
  write(a[i,j],' ');
 end;
 writeln;
end;


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

Последний раз редактировалось Артл; 28.12.2010 в 22:18.
Артл вне форума Ответить с цитированием
Старый 28.12.2010, 22:06   #6
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

n присвоить нада последнему перед вторым циклом
Код:
n:=m;
for i:=1 to m do

begin
c:=a[i,1];
  a[i,1]:=a[i,n];
  a[i,n]:=c;
write(a[i,j],' ');
end;
writeln;
 end.
Novi4ok_11 вне форума Ответить с цитированием
Старый 28.12.2010, 22:08   #7
Артл
Пользователь
 
Регистрация: 16.08.2010
Сообщений: 66
По умолчанию

сейчас отредактировал сообщение с кодом

Последний раз редактировалось Артл; 28.12.2010 в 22:16.
Артл вне форума Ответить с цитированием
Старый 28.12.2010, 22:16   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Вот вы что тут выводить собрались??
Цитата:
Код:
for i:=1 to m do

begin
c:=a[i,1];
  a[i,1]:=a[i,n];
  a[i,n]:=c;
write(a[i,j],' ');
end;
Вот чему по вашему равен j??
С начало надо подготовить массив(то есть произвести замены), а потом с помощью ещё одного цикла выводить его!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 22:19   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

То есть так
Код:
begin
    clrscr;
    writeln('Ìàññèâ:');
    for i:=1 to m do
    begin
         for j:=1 to n do
         begin
               a[i,j]:=random(10);
               write(a[i,j],' ');
         end;
         writeln;
    end;


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

writeln;
end.
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 22:19   #10
Артл
Пользователь
 
Регистрация: 16.08.2010
Сообщений: 66
По умолчанию

спасибо большое
Артл вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двухмерный массив(паскаль) Артл Помощь студентам 5 24.12.2010 18:03
двухмерный массив VB lunat Помощь студентам 0 08.12.2010 01:19
Двухмерный массив... L_Killer Помощь студентам 4 28.05.2010 01:46
Паскаль (двухмерный массив) Unikummm Паскаль, Turbo Pascal, PascalABC.NET 28 24.01.2009 03:37