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


Ответ
 
Опции темы Опции просмотра
Старый 13.02.2008, 22:46   #11 (permalink)
TOMMY
Member
 
Регистрация: 12.01.2008
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Код нужной тебе проги ...
Код:
var
 i, j, a:integer;
 c:real;
 sum, dob, kil:longint;
begin
sum:=0; dob:=1; kil:=0;

read(i);

for j:=1 to i do begin
      read(c);
  if (c = 0)or(frac(c)<>0)then kil:=kil+1 else
  begin
  a:=trunc(c);
      if a mod 2 = 0  then sum:=sum+a else
         if (a mod 2 <> 0) then dob:=dob*a;
  end;
end;
writeln('sum=',sum,'; dob=',dob,'; else=',kil);
end.
TOMMY вне форума   Ответить с цитированием

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

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

Нужна помощь по МК
Как согнуть лист?
Не работает задачка в Pascale (Vladimiru S)
Нужна помощь
Помощь в Pascale

Старый 14.02.2008, 13:23   #12 (permalink)
clever person
Member
 
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

TOMMY вы гений СПАСИБО ВАМ БОЛЬШОЕ!!!
clever person вне форума   Ответить с цитированием
Старый 15.02.2008, 20:44   #13 (permalink)
clever person
Member
 
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

я ,конечно , понимаю что посылать третью задачу - это наглость ,но все же помогите еще разочек, пожалуйста: Задан массив действительных чисел . построить новый массив,в который поместить все элементы исходного,оканчивающиеся на цифру 5. ПОЖАЛУЙСТА!!!
clever person вне форума   Ответить с цитированием
Старый 16.02.2008, 21:57   #14 (permalink)
TOMMY
Member
 
Регистрация: 12.01.2008
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Мы все немного наглые ;)
_________________________
Код:
var
 mas:array[1..1000]of real;
 new_mas:array[1..1000]of real;
 i, j, z:integer;
function RESULT(a:real):boolean;
begin
while frac(a)>0 do begin
a:=a*10;
end;
if trunc(a) mod 10 = 5 then RESULT:=true else RESULT:=false;
end;

begin
read(i);

for j:=1 to i do begin
     read(mas[j]);
end;

z:=1;
for j:=1 to i do begin
    if RESULT(mas[j])=true then begin
       new_mas[z]:=mas[j];
       z:=z+1;
    end;
end;

writeln;
for j:=1 to z-1 do begin
 write(new_mas[j]:5:3,' ');
end;
end.
TOMMY вне форума   Ответить с цитированием
Старый 19.02.2008, 20:00   #15 (permalink)
clever person
Member
 
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

TOMMY вы еще в первой задаче ввели оператор break но мой паскаль его не поддерживает помогите переделать пожалуйста!!!
clever person вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 25.02.2008, 18:36   #16 (permalink)
clever person
Member
 
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

бугалтерия учреждения подготовила ведомость зарплаты сотрудников, в которой указаны фамилии сотрудников и зарплата каждого. отдельный сотрудник упомянут в ведомости один раз. найти сотрудников с наименьшей и наибольшей зарплатой. у меня получилось вот что, но это неправильно помогите исправить!!!
Program Zplata;
uses wincrt;
var
b:array[1..10] of real;
k,j,i,n:integer;
Amin,max:real;
a: String[20];
begin
write ('n=');
readln(n);
for i:=1 to n do begin
write('a[',i,']=');
readln(a[i]); end;
for i:=1 to n do begin
write('b[',i,']=');
readln(b[i]); end;

Amin:=b[1];
max:=b[1];
for i:=1 to n do begin
if b[i]<Amin then begin Amin:=b[i];j:=i; end;
if b[i]>max then begin max:=b[i];k:=i;end;
end;
WriteLn('min=',Amin,'---',' ',a[j]);
writeln ('max=',max,'---',' ',a[k]);
end.
clever person вне форума   Ответить с цитированием
Старый 25.02.2008, 20:02   #17 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

clever person
Какая версия Pascal у вас?

Привожу решение для DOS-версии, под Win-версию переделаете сами.
Допустим, что в ведомости 10 фамилий, как в вашей программе.

Program Zplata;
uses crt;
var
a: array[1..10] of string; {массив фамилий}
b:array[1..10] of real; {массив зарплата}
i,n,k:integer;
min,max:real;

begin
clrscr;
for i:=1 to 10 do begin {цикл заполнения массивов}
write('Введите фамилию сотрудника');
readln(a[i]);
write('Введите з/п сотрудника');
readln(b[i]);
end;

min:=b[1];
max:=b[1];

for i:=1 to 10 do
begin
if b[i]<min then
begin min:=b[i]; n:=i; end;
if b[i]>max then
begin max:=b[i]; k:=i; end;
end;

writeln('min=',min,'--- ',a[n]);
writeln ('max=',max,'--- ',a[k]);
end.

Ваша ошибка в том, что вы никак не определили массив фамилий, переменная а у вас строковая, а не статический массив. И еще, не понятно, зачем вы запрашиваете n, если у вас объявлен массив зарплат из 10 элементов. Зарплату же должны начислять всем сотрудникам :)

* причина редактирования - исправлено начальное значение параметра цикла
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 25.02.2008, 20:13   #18 (permalink)
clever person
Member
 
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

просто число сотрудников неизвестно, а так я тоже делала , но фамилии сотрудников не выводятся вот в чем проблема
writeln('min=',min,'--- ',' ',a[n]);
writeln ('max=',max,'--- ',' ',a[k]); вот так
clever person вне форума   Ответить с цитированием
Старый 25.02.2008, 20:25   #19 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Сообщение от AlexZir
a: array[1..10] of string; {массив фамилий}
Вообще-то я имел в виду вот это :).

А зачем вам отдельно выводить пустой символ?
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 25.02.2008, 20:27   #20 (permalink)
clever person
Member
 
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

мне нужно чтобы фамилия выводилась а она не выводится вот в чем еще проблема
clever person вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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