Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 29.01.2010, 17:39   #1 (permalink)
Linka
Member
 
Аватар для Linka
 
Регистрация: 24.01.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 26
По умолчанию Заполнение массива

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

Но для непосредственного заполнения массива нельзя использовать операторы присвоения, которые не находятся в теле цикла.

Ссылка удалена

Ниже выкладываю пример похожей программы, если есть чуток времени, помогите, пожалуйста, код переделать.

Код:
program massiv2;
 const   num=10;   {razmer massiva}
 var  i,j :   integer;    {indeksi }
    wrk: integer ;
    ms: array[1..num, 1..num] of integer;{massiv, kotorij obrabativaem}
begin
for i:=1 to num do
   for j:=1 to num do
      ms[i,j]:=0;
   wrk:=1;                                  { . . . 1 2 3 . . . . }
   for i:=1 to 6 do {cikl po strokam}       { . . 4 5 6 . . . . . }
     begin                                  { . 7 8 9 . . . . . . }
    j:=5-i; if j<1 then j:=1;               {101112 . . . . . . . }
    while(j <= 7-i) do {cikls po kolonnam}  {1314 . . . . . . . . }
      begin                                 {15 . . . . . . . . . }
        ms[i,j]:=wrk;                       { . . . . . . . . . . }
        wrk:=wrk+1;                         { . . . . . . . . . . }
                                            { . . . . . . . . . . }
                                            { . . . . . . . . . . }

         j:=j+1
      end;
        end;
   for i:=1 to num do  {Uzgenereta masiva izvads}
     begin writeln;
           for j:=1 to num do
           write( ms[i,j]:7)
     end;
end.
Спасибо заранее большое :>

Последний раз редактировалось Fenix; 11.06.2013 в 12:54 Причина: Ссылка мертва
Linka вне форума   Ответить с цитированием

Старый 29.01.2010, 17:39
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Что то похожее уже обсуждалось на нашем форуме, прочтите

Количество элементов массива С++
Задача на заполнение, транспонирование и вывод матрицы
Окружения элементов массива

Старый 29.01.2010, 21:37   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вы уж извините, но я как-то по-своему:
Код:
VAR
 A:ARRAY[1..10,1..10] of BYTE;
 i,j:INTEGER;
BEGIN
 FOR j:=1 TO 5 DO
  begin
   A[j,j]:=j;
   A[j,11-j]:=11-j;
   A[j+1,j]:=j+10;
   A[j+1,11-j]:=21-j;
  end;

 FOR i:=1 TO 10 DO
  begin
   FOR j:=1 TO 10 DO
    begin
     if ((j<6) and (i=j))
     or ((j>5) and (i=11-j))
     or ((j<6) and (i=j+1))
     or ((j>5) and (i=12-j))
     then Write(A[i,j]:5) else
     Write('     ');
    end;
   WriteLn;
  end;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 29.01.2010, 22:19   #3 (permalink)
Linka
Member
 
Аватар для Linka
 
Регистрация: 24.01.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 26
По умолчанию

Владимир, спасибо!

А как можно сделать, чтобы на месте пустых элементов стояли ноли ?
Linka вне форума   Ответить с цитированием
Старый 29.01.2010, 22:25   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Linka Посмотреть сообщение
Владимир, спасибо!

А как можно сделать, чтобы на месте пустых элементов стояли ноли ?
Очень просто: в шестой строке снизу заменить
Код:
Write('     ') на
Write('    0').
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 07:55.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.