Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.06.2010, 19:38   #1 (permalink)
Goroh
Новичок
 
Аватар для Goroh
 
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Функции, двумерный массив, записи, файлы... и все это Pascal.

Народ! Помогите мне решить воть эти четыре задачки!
У меня на носу защита! Кто как сможет!!! плиззззззз!
Буду очень признателен...
Вот задачи которые я не успел решить... help!

1) На плоскости координатами своих вершин заданы два треугольника. Определите, одинакового ли они типа (равносторонний, равнобедренный, произвольный). "Функции"

2) Дана матрица B[N, M]. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно. "Двумерный массив"

3) Из ассортимента конфет, выпускаемых пермской кондитерской фабрикой, выбрать те, стоимость которых от 30 до 55 руб. за 1 кг. Указать срок их годности и номера магазинов, в которых они имеются в продаже. "Записи"

4) Багаж пассажира характеризуется количеством вещей и их общим весом. Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно — действительного (вес в килограммах).
Найти число пассажиров, имеющих более двух вещей, и число пассажиров, количество вещей которых превосходит среднее число вещей. "Файлы"
Goroh вне форума   Ответить с цитированием

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

Данным вопросом уже интересовались другие участники форума

В Паскале двумерный массив
Двумерный массив
Двумерный массив. Задача
Фортран, двумерный массив

Старый 21.06.2010, 01:42   #2 (permalink)
DDS
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.
Задача 2
Код:
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.
На сегодня всё, пора спать...
DDS вне форума   Ответить с цитированием
Старый 21.06.2010, 14:49   #3 (permalink)
DDS
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.
Задча 4
Код:
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
DDS вне форума   Ответить с цитированием
Старый 21.06.2010, 15:13   #4 (permalink)
Goroh
Новичок
 
Аватар для Goroh
 
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

ОООО!! НУ ПРОСТО Я ОЧ ВАМ БЛАГОДАРЕН! ВЫРУЧИЛИ КАК НАДО!
только вот чета 3 неробит

Последний раз редактировалось Goroh; 21.06.2010 в 16:11
Goroh вне форума   Ответить с цитированием
Старый 21.06.2010, 16:19   #5 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Что именно не работает?
DDS вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 21.06.2010, 16:44   #6 (permalink)
Goroh
Новичок
 
Аватар для Goroh
 
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ну там прога должна выбрать те, стоимость которых от 30 до 55 руб. за 1 кг.
а у меня получается что я только ввожу и ввожу... вывода не происходит...
Goroh вне форума   Ответить с цитированием
Старый 21.06.2010, 16:47   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от DDS Посмотреть сообщение
Что именно не работает?
DDS, там бы надо вставить подсказки при вводе. А то вслепую очень трудно ориентироваться. Типа
Write('Numer of shop ',j,' '); ReadLn(a[i].shop[j]);
Vladimir_S вне форума   Ответить с цитированием
Старый 21.06.2010, 16:47   #8 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Всё правильно. Сначала водишь все данные, а потом программа выдаёт результат...
Чем меньше m,n тем меньше надо вводить...
DDS вне форума   Ответить с цитированием
Старый 21.06.2010, 17:25   #9 (permalink)
Goroh
Новичок
 
Аватар для Goroh
 
Регистрация: 19.06.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

эт точно...
подсказок не хватает...
Но все равно спс
Goroh вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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