Программирование на smart BASIC. Урок 5

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by MARK99 »

Коротко покажите на маленьком примере, как заполнять и читать двухмерный массив.
Пожалуйста.
Image

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Программирование на smart BASIC. Урок 5

Post by Mr. Kibernetik »

Mark990530 wrote:Коротко покажите на маленьком примере, как заполнять и читать двухмерный массив.
Пожалуйста.
Печать таблицы умножения после ее расчета в двухмерном массиве:

Code: Select all

FOR a=1 TO 9
  FOR b=1 TO 9
    m(a,b)=a*b
  NEXT b
NEXT a

FOR a=1 TO 9
  FOR b=1 TO 9
    PRINT "##":m(a,b);
  NEXT b
  PRINT
NEXT a

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by MARK99 »

Спасибо
Image

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by MARK99 »

Mr. Kibernetik wrote:
Mark990530 wrote:Коротко покажите на маленьком примере, как заполнять и читать двухмерный массив.
Пожалуйста.
Печать таблицы умножения после ее расчета в двухмерном массиве:

Code: Select all

FOR a=1 TO 9
  FOR b=1 TO 9
    m(a,b)=a*b
  NEXT b
NEXT a

FOR a=1 TO 9
  FOR b=1 TO 9
    PRINT "##":m(a,b);
  NEXT b
  PRINT
NEXT a
А если использовать команду DIM , то она будет в начале DIM A(9,9)
Image

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Программирование на smart BASIC. Урок 5

Post by Mr. Kibernetik »

Mark990530 wrote:А если использовать команду DIM , то она будет в начале DIM A(9,9)
Нет, будет DIM A(10,10). По умолчанию индексы массива начинаются с 0.

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by MARK99 »

Mr. Kibernetik wrote:
Mark990530 wrote:А если использовать команду DIM , то она будет в начале DIM A(9,9)
Нет, будет DIM A(10,10). По умолчанию индексы массива начинаются с 0.
Понял, а как тогда заполнит массив конкретными числами
Last edited by MARK99 on Thu Feb 05, 2015 4:43 pm, edited 1 time in total.
Image

User avatar
Фант
Posts: 1363
Joined: Sat Nov 30, 2013 10:01 am
My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
Location: Россия,Санкт-Петербург
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by Фант »

Насчет начальных индексов массива, считаю важный момент. По умолчанию они равны нулю. Лично я всегда использую начальный индекс единичку для этого в начале каждой программы я прописываю команду OPTION BASE 1-лично мне так удобнее делать расчеты.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Программирование на smart BASIC. Урок 5

Post by Mr. Kibernetik »

Mark990530 wrote:Понял
Просто в вышеуказанном примере я не стал использовать нулевые элементы массива и использовал только с 1 по 9, для наглядности примера.
Конечно здесь можно заказать и массив 9x9. И даже использовать те же самые номера индексов с 1 по 9. Тогда программа бы выглядела вот так:

Code: Select all

DIM m(9,9)
OPTION BASE 1

FOR a=1 TO 9
  FOR b=1 TO 9
    m(a,b)=a*b
  NEXT b
NEXT a

FOR a=1 TO 9
  FOR b=1 TO 9
    PRINT "##":m(a,b);
  NEXT b
  PRINT
NEXT a

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by MARK99 »

Mr. Kibernetik wrote:
Mark990530 wrote:Понял
Просто в вышеуказанном примере я не стал использовать нулевые элементы массива и использовал только с 1 по 9, для наглядности примера.
Конечно здесь можно заказать и массив 9x9. И даже использовать те же самые номера индексов с 1 по 9. Тогда программа бы выглядела вот так:

Code: Select all

DIM m(9,9)
OPTION BASE 1

FOR a=1 TO 9
  FOR b=1 TO 9
    m(a,b)=a*b
  NEXT b
NEXT a

FOR a=1 TO 9
  FOR b=1 TO 9
    PRINT "##":m(a,b);
  NEXT b
  PRINT
NEXT a
Спасибо, разобрался)
Image

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Программирование на smart BASIC. Урок 5

Post by MARK99 »

А как в массиве записать вот , что бы a= 1 ; 12 ; 3/10 ....
И при этом с переменной b было бы что-то похожее
Image

Post Reply