MzSpider
Новичок
|
Почему-то когда я считываю с фаила в массив у мну ошибка
Code Sample:
assign(f,'test.txt'); reset(f); readln(n,m); for i := 1 to n do for k := 1 to m do read(f,mas[i,k]); close(f);
(Сообщение отредактировал MzSpider 3 окт. 2009 20:30)
|
Всего сообщений: 19 | Присоединился: июль 2009 | Отправлено: 3 окт. 2009 17:25 | IP
|
|
Dale
Участник
|
MzSpider Наверное, вы сами уже догадлись Структура текстового файла такова, что каждая строка заканчивается символами #13 #10. При использовании read стоит учитывать, что она считывает и их. Без использования elon() будет примерно так:
Code Sample:
assign(f , 'test.txt'); reset(f); {readln(f, n); readln(f, m); } readln(n,m); i:=1; j:=1; while i<=n do begin while j<=m do begin read(f,c); if (ord(c)<>13) and (ord(c)<>10) then begin mas[i,j]:=c; j:=j+1; end; end; i:=i+1; j:=1; end; close(f);
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 4 окт. 2009 6:25 | IP
|
|
Dale
Участник
|
Цитата: MzSpider написал 3 окт. 2009 17:23 Ой блин , нерпавельно обьяснили))) острова посттрочно Например 5 5 01010 01100 01110 01111 11000 Итого 1ый остров = площадь 1 2ый остров = площадь 1 3ый остров = площадь 2 4ый остров = площадь 3 5ый остров = площадь 4 1ый остров = площадь 2
Запишите данные файла в массив m2 состоящий из m строк. Тогда путем работы со строками задача решится очень легко:
Code Sample:
for i:=1 to m do m2[ i ]:=m2[ i ]+'0'; ch:=0; for i:=1 to m do begin b:=m2[ i ]; while pos('1',b)<>0 do begin k:=pos('1',b); delete(b,1,k-1); k:=pos('0',b); b1:=copy(b,1,k-1); ch:=ch+1; writeln(ch,' остров= ',length(b1)); delete(b,1,length(b1)); end; end;
Сначала добавляем нолики в конце для того, чтобы определить конец подстроки из единичек. Затем ищем подстроки, начинающиеся на '1' и заканчивающиеся '0' и выводим их длину. (Сообщение отредактировал Dale 4 окт. 2009 7:47)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 4 окт. 2009 7:46 | IP
|
|
Dale
Участник
|
Цитата: Kurvochka написал 3 окт. 2009 14:18 Люди привет! если кто-то читает это сообщения то помогите плиз!! Нужно составить анимацию в паскале движение планеты Земля вокруг Солнца. Нужно срочно!!это курсовая работа.
Ну для начала, вот основа:
Code Sample:
uses crt,graph; const r_z=10;{paduyc 3emJIu} r_s=100;{paduyc coJIHU,a} rasst=200;{paccto9IHue oT 3em do C.} var driver,mode:integer; x_z,y_z:integer; yrol:real; procedure write_zem(x,y:integer); begin circle(x,y,r_z); end; begin driver:=detect; initgraph(driver,mode,''); x_z:=0;y_z:=0;yrol:=0; while not keypressed do begin cleardevice; circle(640 div 2,480 div 2, r_s); x_z:=round(cos(yrol)*rasst)+640 div 2; y_z:=round(sin(yrol)*rasst)+480 div 2; write_zem(x_z,y_z); yrol:=yrol+pi/100; delay(5000); end; end.
Ну а далее, можно подредактировать, злить цветами... Можно подгрузить bmp кртинку, у меня где-то валялся код... Как вы сами видите свою курсовую? (Сообщение отредактировал Dale 4 окт. 2009 8:32)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 4 окт. 2009 8:27 | IP
|
|
MzSpider
Новичок
|
Dale ,я ее вчера дописал спс за помощь =))
|
Всего сообщений: 19 | Присоединился: июль 2009 | Отправлено: 4 окт. 2009 12:20 | IP
|
|
MzSpider
Новичок
|
я ненаю почему скачал 3 паскаля а графика не пашет , паскаль безничего вылетает
|
Всего сообщений: 19 | Присоединился: июль 2009 | Отправлено: 4 окт. 2009 12:28 | IP
|
|
Defenishion
Новичок
|
помогите решить задачку Дано натуральное число n. Получить f[0]f[1]...f[n], где f= 1 / ( [ i ]^2+1)+ 1/( [ i ]^2+2)+……+1/( [ i ]^2+[ i ]+1) (Сообщение отредактировал Defenishion 4 окт. 2009 13:21) (Сообщение отредактировал Defenishion 4 окт. 2009 22:41) (Сообщение отредактировал Defenishion 4 окт. 2009 22:42)
|
Всего сообщений: 6 | Присоединился: октябрь 2009 | Отправлено: 4 окт. 2009 13:18 | IP
|
|
Dale
Участник
|
Defenishion пишите [ i ] в квадратных скобках с пробелами после и перед i, так ничего не понятно
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 4 окт. 2009 19:44 | IP
|
|
Dale
Участник
|
MzSpider а как ты делаешь initgraph? попробуй c:\tp\bgi и т.п.
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 4 окт. 2009 19:48 | IP
|
|
Kurvochka
Новичок
|
Цитата: Dale написал 4 окт. 2009 8:27
Цитата: Kurvochka написал 3 окт. 2009 14:18 Люди привет! если кто-то читает это сообщения то помогите плиз!! Нужно составить анимацию в паскале движение планеты Земля вокруг Солнца. Нужно срочно!!это курсовая работа.
Ну для начала, вот основа:
Code Sample:
uses crt,graph; const r_z=10;{paduyc 3emJIu} r_s=100;{paduyc coJIHU,a} rasst=200;{paccto9IHue oT 3em do C.} var driver,mode:integer; x_z,y_z:integer; yrol:real; procedure write_zem(x,y:integer); begin circle(x,y,r_z); end; begin driver:=detect; initgraph(driver,mode,''); x_z:=0;y_z:=0;yrol:=0; while not keypressed do begin cleardevice; circle(640 div 2,480 div 2, r_s); x_z:=round(cos(yrol)*rasst)+640 div 2; y_z:=round(sin(yrol)*rasst)+480 div 2; write_zem(x_z,y_z); yrol:=yrol+pi/100; delay(5000); end; end.
Ну а далее, можно подредактировать, злить цветами... Можно подгрузить bmp кртинку, у меня где-то валялся код... Как вы сами видите свою курсовую? Ну можно конечно сделать по красочнее как-то. а как это подгрузить картинку можно7 и что это даст?подскажите пожалуйста и это. я уже Вам очень благодарна!
|
Всего сообщений: 7 | Присоединился: октябрь 2009 | Отправлено: 5 окт. 2009 12:01 | IP
|
|
|