|
Основной форум Сюда все проблемы связанные с программированием. |
03.04.2012, 18:38
|
#1
|
Нуждающийся
Регистрация: 05.08.2011
Сообщений: 85
Написано 16 полезных сообщений (для 16 пользователей)
|
Массивы
Здраствуйте. Я давно работал с МП но в основном использовал библеотеки. Сейчас бы хотел узнать о массивах. Я знаю как их обьявлять и какие они бывают, но не умею работать с ними. Кому не трудно обьясните пожалуйста)
|
(Offline)
|
|
03.04.2012, 21:18
|
#2
|
Знающий
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений (для 13 пользователей)
|
Ответ: Массивы
Program massive; var a:array [1..3] of image; i:integer; begin i:=1; a[i]:=loadImage('/pic.png'); i:=i+1; a[i]:=loadImage('/pic2.png'); i:=i+1; a[i]:=loadImage('/pic3.png'); drawImage(a[2],0,0); drawImage(a[3],30,30); repaint; end.
__________________
G502, GT S5230w user!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
03.04.2012, 21:23
|
#3
|
Знающий
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений (для 13 пользователей)
|
Ответ: Массивы
А теперь пример заполнения числовых переменных.
Program massive2; var a:array [1..5] of integer; i,n:integer; begin i:=1; n:=1; for i:=1 to 5 do begin a[i]:=n; n:=n+10; i:=i+1; end; drawtext(a[1]+' '+a[2]+' '+a[3],0,0); //получим на выходе "1 11 21" repaint; end.
__________________
G502, GT S5230w user!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.04.2012, 23:29
|
#4
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Массивы
На закуску парочку советов/фич (для MP 2.0.2)
1. Не юзай "неквадратные" массивы таких типов: Image и String. Иначе приложение работать не будет (зависнет при старте).
Пруф:
Попробуй скомпилировать вот этот код, и проверить работоспособность билда.
program ArrayTest;
var
ch:array [1..100,1..10] of image;
begin
drawText('Hello world!', 0, 0);
repaint;
delay(2000);
end.
2. Массив должен начинаться с нуля. То есть вместо LOL:array [1..100] of inetger; нужно писать LOL:array [0..99] of inetger;.
Казалось бы, какая разница? А вот разница то есть! Дело в том, что при компиляции МП автоматически приводит массивы к "нулевому типу". То есть первый из вышеприведенного примера превращается во второй. А запись типа x:=LOL[a]; превращается в x:=LOL[a-1];. "-1" как бэ является лишним и никому не нужным вычислением, почем зря нагружающим (пусть и немного) систему.
Пруф:
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.04.2012, 17:28
|
#5
|
Знающий
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений (для 13 пользователей)
|
Ответ: Массивы
1. Не юзай "неквадратные" массивы таких типов: Image и String.
|
У меня около 15 таких массивов в новой версии Core. Все работало и на тлф и на эмуле.
Массив должен начинаться с нуля.
|
LowLvL = все мои массивы начинаются с еденицы и все ворк.
З.Ы.: Паскаль, не вздумай обижаться, это не для унижения твоих постов, это констатация факта.
__________________
G502, GT S5230w user!
Последний раз редактировалось Rock2roll, 18.04.2012 в 17:31.
Причина: Просьба
|
(Offline)
|
|
18.04.2012, 19:42
|
#6
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Массивы
"У меня около 15 таких массивов в новой версии Core. Все работало и на тлф и на эмуле."
Я же как бэ сказал: "На закуску парочку советов/фич (для MP 2.0.2)"
"Массив должен начинаться с нуля."
Это для оптимизации. Я не говорил что такие массивы работать не будут. Я лишь показал, что добавляются лишние вычисления. И все тут.
"Паскаль, не вздумай обижаться" А на что обижаться то?
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
18.04.2012, 20:30
|
#7
|
Знающий
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений (для 13 пользователей)
|
Ответ: Массивы
__________________
G502, GT S5230w user!
|
(Offline)
|
|
19.04.2012, 12:44
|
#8
|
ПроЭктировщик
Регистрация: 22.10.2010
Сообщений: 196
Написано 16 полезных сообщений (для 30 пользователей)
|
Ответ: Массивы
Сообщение от AngeLvKedaX
критика поста =)
|
С каких это пор надо обижаться на критику поста??? Или это указано в каком то манифесте школоло?
__________________
Для меня нет ничего не реального в кодинге, но мне лень
gainOS - прорыв в проектировании ОС на MIDlet Pascal
|
(Offline)
|
|
19.04.2012, 20:42
|
#9
|
Знающий
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений (для 13 пользователей)
|
Ответ: Массивы
С каких это пор надо обижаться на критику поста??
|
в отличии от тебя я культурный, рас ты так считаешь. Если для тебя попросить извинение это что-то низкое- школоло однозначно ты.
__________________
G502, GT S5230w user!
|
(Offline)
|
|
19.04.2012, 22:52
|
#10
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: Массивы
Писать с ошибками и называть собеседника школотой - верх культурности
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
29.04.2012, 20:46
|
#11
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Массивы
Вся проблема в том, что многие так и не научились отличать критику от ругани.
Ругань - это когда ты говоришь человеку, что он му**к
Критика - это когда ты говоришь, почему он му****м
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
30.04.2012, 12:40
|
#12
|
Нуждающийся
Регистрация: 05.08.2011
Сообщений: 85
Написано 16 полезных сообщений (для 16 пользователей)
|
Ответ: Массивы
Ребят хватить флудить!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:07.
|