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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2008, 22:52   #1
RAVAL))
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 44
Вопрос Паскаль (двумерный массив)

Нужна идея решения задачи.
Дана матрица N*N, если верхний и нижний элементы равны то увеличить текущий.
Пр. Вв
3
1 2 3
2 4 3
4 2 9

Пр. Выв.

1 2 3
2 5 3
4 2 9
RAVAL)) вне форума Ответить с цитированием
Старый 15.06.2008, 23:28   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

А если матрца не 3 на 3 ,а например 10 на 10?

Цитата:
.....то увеличить текущий.
А зно значит текущий?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 15.06.2008, 23:41   #3
RAVAL))
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 44
По умолчанию

не важно 3*3 или 10*10 или 100*100.
Вот что должно получится:
Пр вв.
45 84 69
51 31 58
45 84 67

Пр. выв
6
45 84 69
52 32 58
45 84 67


Т.к 45=45 мы инкрементируем 51 и получаем. Аналагично т.к 84=84 мы инкрементируем 31 и получаем 32

Последний раз редактировалось RAVAL)); 15.06.2008 в 23:45.
RAVAL)) вне форума Ответить с цитированием
Старый 15.06.2008, 23:52   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Тогда это просто.
В цикле For проходим по столбцам и свяряем первый и последний элемент.
Если они равны, то запускаем ещё один цикл который будет увеличивать на 1 всё что находиться между первым и последним элементом.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 16.06.2008, 00:04   #5
RAVAL))
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Карась Посмотреть сообщение
Тогда это просто.
В цикле For проходим по столбцам и свяряем первый и последний элемент.
Если они равны, то запускаем ещё один цикл который будет увеличивать на 1 всё что находиться между первым и последним элементом.
так?
Код:
...
  For i:=1 to n Do Begin
    For  j:=1 to m Do 
      If A[i-1,j] = A[i+1,j] Then Inc(A[i,j]);
   End;
...
RAVAL)) вне форума Ответить с цитированием
Старый 16.06.2008, 00:27   #6
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Похоже но не то....

Это выглядит так:

Код:
Const N = 10;
        M = 8;

Var x, y : Integer;
      mass : Array [1..N, 1..M] of Integer;

Begin

{Заполняем и выводим исходный массив}
Randomize;
For y := 1 To M Do
  Begin
    For x := 1 To N Do
      Begin
        Mass[x,y] := Random(10);
        Write(Mass[x,y], ' ');
      End;
    Writeln;
  End;

{Делаем то что хотим}
For x := 1 To N Do
  If Mass[x,1] = Mass[x, M] Then
    For y := 2 To (M - 1) Do Inc(Mass[x,y]);

{Выводим получившийся массив}
Writeln;
For y := 1 To M Do
  Begin
    For x := 1 To N Do Write(Mass[x,y], ' ');
    Writeln;
  End;

Readln;
End.
Разбирайся..
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив... slim5 Помощь студентам 2 20.06.2008 23:16
Двумерный массив в С++ Draid Помощь студентам 2 07.03.2008 22:06
Двумерный массив Jodu Помощь студентам 18 05.12.2007 22:44
Двумерный массив help Imperceptible Паскаль, Turbo Pascal, PascalABC.NET 25 02.03.2007 20:00