13.02.2008, 22:46 | #11 (permalink) |
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. |
13.02.2008, 22:46 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вы можете поискать решение проблемы в других аналогичных темах Нужна помощь по МК Как согнуть лист? Не работает задачка в Pascale (Vladimiru S) Нужна помощь Помощь в Pascale |
15.02.2008, 20:44 | #13 (permalink) |
Member
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
я ,конечно , понимаю что посылать третью задачу - это наглость ,но все же помогите еще разочек, пожалуйста: Задан массив действительных чисел . построить новый массив,в который поместить все элементы исходного,оканчивающиеся на цифру 5. ПОЖАЛУЙСТА!!!
|
16.02.2008, 21:57 | #14 (permalink) |
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. |
19.02.2008, 20:00 | #15 (permalink) |
Member
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
TOMMY вы еще в первой задаче ввели оператор break но мой паскаль его не поддерживает помогите переделать пожалуйста!!!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
25.02.2008, 18:36 | #16 (permalink) |
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. |
25.02.2008, 20:02 | #17 (permalink) |
support
Регистрация: 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 элементов. Зарплату же должны начислять всем сотрудникам :) * причина редактирования - исправлено начальное значение параметра цикла
__________________
Убить всех человеков! |
25.02.2008, 20:13 | #18 (permalink) |
Member
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
просто число сотрудников неизвестно, а так я тоже делала , но фамилии сотрудников не выводятся вот в чем проблема
writeln('min=',min,'--- ',' ',a[n]); writeln ('max=',max,'--- ',' ',a[k]); вот так |
25.02.2008, 20:25 | #19 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Цитата:
А зачем вам отдельно выводить пустой символ?
__________________
Убить всех человеков! |
|
25.02.2008, 20:27 | #20 (permalink) |
Member
Регистрация: 07.02.2008
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
мне нужно чтобы фамилия выводилась а она не выводится вот в чем еще проблема
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|