19.06.2010, 19:38 | #1 (permalink) |
Новичок
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Функции, двумерный массив, записи, файлы... и все это Pascal.
У меня на носу защита! Кто как сможет!!! плиззззззз! Буду очень признателен... Вот задачи которые я не успел решить... help! 1) На плоскости координатами своих вершин заданы два треугольника. Определите, одинакового ли они типа (равносторонний, равнобедренный, произвольный). "Функции" 2) Дана матрица B[N, M]. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно. "Двумерный массив" 3) Из ассортимента конфет, выпускаемых пермской кондитерской фабрикой, выбрать те, стоимость которых от 30 до 55 руб. за 1 кг. Указать срок их годности и номера магазинов, в которых они имеются в продаже. "Записи" 4) Багаж пассажира характеризуется количеством вещей и их общим весом. Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно — действительного (вес в килограммах). Найти число пассажиров, имеющих более двух вещей, и число пассажиров, количество вещей которых превосходит среднее число вещей. "Файлы" |
19.06.2010, 19:38 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Данным вопросом уже интересовались другие участники форума В Паскале двумерный массив Двумерный массив Двумерный массив. Задача Фортран, двумерный массив |
21.06.2010, 01:42 | #2 (permalink) |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Задача 1
Код:
Var x1,y1,x2,y2,x3,y3:real; s1,s2:string; Function Triangle(x1,y1,x2,y2,x3,y3:real):string; Function otrezok(x1,y1,x2,y2:real):real; begin otrezok:=sqrt(sqr(x1-x2)+sqr(y1-y2)); end; var a,b,c:real; begin a:=otrezok(x1,y1,x2,y2); b:=otrezok(x2,y2,x3,y3); c:=otrezok(x1,y1,x3,y3); if (a=b)or(b=c)or(a=c) then if (a=b)and(b=c)and(a=c) then Triangle:='Equilateral'{равностороний} else Triangle:='Isosceles'{равнобедренный} else Triangle:='Arbitrary'{произвольный} end; Begin Readln(x1,y1); Readln(x2,y2); Readln(x3,y3); s1:=Triangle(x1,y1,x2,y2,x3,y3); Writeln('The first triangle is ',s1); Readln(x1,y1); Readln(x2,y2); Readln(x3,y3); s2:=Triangle(x1,y1,x2,y2,x3,y3); Writeln('The second triangle is ',s2); If s1=s2 then writeln('Triangles are same!') else writeln('Triangles are not same!'); End. Код:
uses crt; Const n=5; m=5; Var b:array [1..n,1..m]of integer; min,max:integer; i,j:byte; tmp,i1,i2:integer; Begin clrscr; Randomize; For i:=1 to n do For j:=1 to m do b[i,j]:=random(50)-25; For i:=1 to n do begin For j:=1 to m do write(b[i,j]:4); writeln; end; writeln; For i:=1 to n do begin max:=b[i,1]; min:=b[i,m]; i1:=1; i2:=m; For j:=1 to m do begin if b[i,j]>max then begin max:=b[i,j];i1:=j; end; if b[i,j]<min then begin min:=b[i,j];i2:=j; end; end; tmp:=b[i,1]; b[i,1]:=b[i,i1]; b[i,i1]:=tmp; tmp:=b[i,m]; b[i,m]:=b[i,i2]; b[i,i2]:=tmp; end; For i:=1 to n do begin For j:=1 to m do write(b[i,j]:4); writeln; end; End. |
21.06.2010, 14:49 | #3 (permalink) |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Задача 3
Код:
Const n=2;m=2; Var a:array[1..n] of record cost:real; srok:integer; shop:array[1..m] of byte; end; i,j:byte; Begin For i:=1 to n do begin Write('Enter cost, shelf life, numbers of shops...');{ввод цены, срока годности, номеров магазинов} readln(a[i].cost); readln(a[i].srok); for j:=1 to m do readln(a[i].shop[j]); end; writeln; For i:=1 to n do If (a[i].cost>=30)and(a[i].cost<=55) then begin writeln('Sweets number ',i,'- shelf life ',a[i].srok);{вывод номера конфет, их срока годности и магазинов} writeln('and numbers of shops '); for j:=1 to m do write(a[i].shop[j]:3); end; End. Код:
Const n=4; Var f1:text; a:array[1..n] of record k:integer; w:real; end; i:byte; s:real; Begin s:=0; Assign(f1,'bagazh.txt'); Reset(f1); For i:=1 to n do begin read(f1,a[i].k);readln(f1,a[i].w); end; for i:=1 to n do s:=s+a[i].k; s:=s/n; Writeln('Passangers with 2 or more things');{вывод багажа с больше, чем 2 вещами} For i:=1 to n do If a[i].k>2 then writeln('Bagazh number ',i); Writeln; Writeln; Writeln('Things in bagazh more than average');{вывод багажа, с кол-вом вещей больше среднего арифметического} For i:=1 to n do If a[i].k>s then writeln('Bagazh number ',i); Close(f1); End. Последний раз редактировалось DDS; 21.06.2010 в 14:53 |
21.06.2010, 16:19 | #5 (permalink) |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Что именно не работает?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
21.06.2010, 16:44 | #6 (permalink) |
Новичок
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Ну там прога должна выбрать те, стоимость которых от 30 до 55 руб. за 1 кг.
а у меня получается что я только ввожу и ввожу... вывода не происходит... |
21.06.2010, 17:25 | #9 (permalink) |
Новичок
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
эт точно...
подсказок не хватает... Но все равно спс |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|