![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 25
|
![]()
Даны три массива,надо сформировать массивы x и y по правилам:
x=a+b y=b+c, где a=a[i]/(max(a)-min(a)), b=b[i]/(max(b)-min(b)), c=c[i]/(max(c)-min(c)). вот программа: const nmax=30; type tm=array[1..nmax] of integer; var a,b,c,x,y:tm; i,n,amax,amin,bmax,bmin,cmax,cmin:i nteger; begin writeln('razmer maccivov'); readln(n); writeln('vvod elementov macciva A'); for i := 1 to n do read(a[i]); readln; writeln('vvod elementov macciva B'); for i := 1 to n do read(b[i]); readln; writeln('vvod elementov macciva C'); for i := 1 to n do read(c[i]); readln; amax:=a[1]; amin:=a[1]; bmax:=b[1]; bmin:=b[1]; cmax:=c[1]; cmin:=c[1]; for i:=1 to n do begin if a[i] > amax then amax:=a[i]; if a[i] < amin then amin:=a[i]; if b[i] > bmax then bmax:=b[i]; if b[i] < bmin then bmin:=b[i]; if c[i] > cmax then cmax:=c[i]; if c[i] < cmin then cmin:=c[i]; end; for i:=1 to n do begin x[i]:=(a[i]/(amax-amin)) + (b[i]/(bmax-bmin)) y[i]:=(b[i]/(bmax-bmin)) + (c[i]/(cmax-cmin)); end; readln; end. writeln('macciva x'); for i := 1 to n do write(x[i]:6:1); readln; writeln('macciva y'); for i := 1 to n do write(y[i]:6:1); readln; end. у меня почему-то высвечивается ошибка в строке "y[i]:=(b[i]/(bmax-bmin)) + (c[i]/(cmax-cmin));" что не так? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 10.12.2007
Сообщений: 124
|
![]()
x[i]:=(a[i]/(amax-amin)) + (b[i]/(bmax-bmin))
возможно ";" в конце не хватает ))
Русский язык не мой конёк
![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 25
|
![]()
нет,если я ставлю ";" ,то он выделяет уже и эту "x[i]:=(a[i]/(amax-amin)) + (b[i]/(bmax-bmin))" строку
|
![]() |
![]() |
![]() |
#4 | ||
Форумчанин
Регистрация: 23.09.2010
Сообщений: 682
|
![]() Цитата:
Цитата:
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить. |
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
![]()
потому что x[i] ожидается что будет целое число а при делении a[i]/(amax-amin) получается вещественное
вам надо либо округлять (Round), либо делить нацело (div), либо менять тип выходных массивов на real. Последний раз редактировалось Dush; 14.10.2011 в 12:50. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 25
|
![]()
а как же тогда задать типы переменных?
type tm=array[1..nmax] of real; var a,b,c,x,y:tm; amax,amin,bmax,bmin,cmax,cmin:integ er; n,i:real; если так,то ему не нравится строка:"for i := 1 to n do read(a[i]);" а так: "type tm=array[1..nmax] of real; var a,b,c,x,y:tm; amax,amin,bmax,bmin,cmax,cmin:integ er; n,i:integer;" строка:"amax:=a[1];" |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
![]()
а зачем индексы i и n вы делаете вещественным? оставьте его integer
введите новый тип type tr=array[1..nmax] of real; x и y сделайте этим типом. все остальное оставьте без изменений |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 25
|
![]()
я пробовала:
"type tm=array[1..nmax] of real; var a,b,c,x,y:tm; amax,amin,bmax,bmin,cmax,cmin:integ er; i:integer; n:real;" тогда не сходится что-то в строке: "for i := 1 to n do read(a[i]);" |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
![]()
входные массивы и индексы - integer, выходные - real
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 25
|
![]()
ура,работает
СПАСИБО ВСЕМ ОГРОМНОЕ за помощь! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Немогу найти ошибку в задаче на Си. | Nox4o | Помощь студентам | 3 | 25.05.2011 13:11 |
найти ошибку в задаче! | dark999 | Помощь студентам | 4 | 25.03.2011 15:15 |
НАйти ошибку в задаче | dragun4ik | Помощь студентам | 6 | 29.06.2010 23:24 |
Помогите найти ошибку в задаче на С++ | Nastya123 | Помощь студентам | 2 | 26.05.2009 14:18 |
помогите найти ошибку в задаче. | Wia | Помощь студентам | 1 | 14.12.2008 17:19 |