ПОМОГИТЕ ПОЖАЛУЙСТА!!РЕШИТЬ 2 ЗАДАЧКИ (ТИП-ЗАПИСИ)

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

C_O_D_E, зачем же так все усложнять?
меняем pol: string на male: boolean;
Ввод будет примерно такой:
writeln ('Введите 0, если человек - женщина, или 1, если мужчина');
readln(x);
if x=1 then male:=true else male:=false;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Vovchik
Сообщения: 196
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

Хыиуду, а понял сейчас попробую переделать !!!!
Vovchik
Сообщения: 196
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

вот я всё исправил принемайте вариант перврой задачи !!!!!!

Код: Выделить всё

uses crt;
type tab = record
      ves:real;
      pol:boolean;
     end;
const n=3;
var tabl:array [1..n] of tab;
    sred:real;
    obsh,obsh1,k:real;
    x:array[1..n]of byte;
    i:byte;
BEGIN
 clrscr;
 for i:=1 to n do
  begin
   writeln('Ведите данные N',i,':');
   write('Вес(kg):');readln(tabl[i].ves);
   write('Пол(если мужчины введите = 1/если женщины введите = 0)');readln(x[i]);
   writeln(' ');
  end;
 for i:=1 to n do
  begin
   if x[i] = 0
   then tabl[i].pol:=false { Женщины }
   else tabl[i].pol:=true; { Мужчины }
  end;
 for i:=1 to n do
  begin
   if tabl[i].pol = false
   then begin
         obsh1:=obsh1+tabl[i].ves;
         k:=k+1;
        end;
  end;
 sred:=obsh1/k;
 for i:=1 to n do
  begin
   if tabl[i].pol = true
   then obsh:=obsh+tabl[i].ves;
  end;
 writeln('Средний вес всех Женщин:',sred:20:2);
 writeln('Обший вес всех мужчин:',obsh:20:2);
 readln;
END.
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

Хыиуду писал(а):C_O_D_E, зачем же так все усложнять?
меняем pol: string на male: boolean;
Ввод будет примерно такой:
writeln ('Введите 0, если человек - женщина, или 1, если мужчина');
readln(x);
if x=1 then male:=true else male:=false;
тогда можно вообще через Case X of
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

ну, тогда уже можно
male := (x=1);
Все помнят анекдот, про то, чему равняется значение выражения 2+2=4 ??? ;-))
Vovchik
Сообщения: 196
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

Люди хватит спорить задача уже решена !!!!!!!!!
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Vovchik, завсегдатаям этого форума уже давно неинтересно решать такие задачки сами по себе. Им хочется сделать максимально кратко и красиво.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

Хыиуду, в самую ТОЧКУ!!
Medved
Сообщения: 256
Зарегистрирован: 14 фев 2008, 20:51
Контактная информация:

&quot писал(а):давно неинтересно решать такие задачки
И не только такие! Только более сложные задачи появляются редко, ОЧЕНЬ редко. И если такие задачи появляются, то
&quot писал(а):завсегдатаи этого форума
после двух-трёх страниц решения пишут ещё страниц 10 обсуждения и упрощения=)
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
Vovchik
Сообщения: 196
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

а понял !!!! значит присоеденяюсь к вам коллеги !!!
Ответить