Guest
Новичок
|
-----> люди добрые помогите с задачкой дан вектор Х, составленный из 8 вещественных чисел. Требуется домножить каждый элемент Х на квадрат наименьшего члена вектора, если х(индекс i) >= 0, и домножить на квадрат наибольшего, если х(индекс i) < 0 очень благодарна заранее
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 20 дек. 2007 23:18 | IP
|
|
LUX
Новичок
|
KMA, я сделал так, но работает неправильно. Где не так? не подскажешь, please:
Code Sample:
Найти в произвольном файле самый редко встречающийся байт (byte)
program Project; {$APPTYPE CONSOLE} uses SysUtils; VAR f: file; buf, sr, res:word; l, t, i, k, p:integer; begin { TODO -oUser -cConsole Main : Insert code here } AssignFile (f, 'date.dat'); reSet (f, 1); t:=fileSize(f); seek (f, 0); blockRead (f, res, 1); p:=0; l:=0; while eof(f)=false do begin seek (f, p); blockread(f, sr, 1); if sr=res then l:=l+1; inc(p); end; writeln (l); for i:=1 to t-1 do begin k:=0; p:=0; seek (f,i); blockread(f, buf,1); while eof(f)=false do begin seek (f,p); blockread(f, sr, 1); if sr=buf then k:=k+1; inc(p); end; if k<l then begin l:=k; res:=buf; end; end; writeln (k, ' ' ,res); Readln; end. Прога без коментов, но думаю тут одни профи и они без проблем разберуться (Сообщение отредактировал LUX 22 дек. 2007 17:06) (Сообщение отредактировал LUX 22 дек. 2007 17:07)
|
Всего сообщений: 4 | Присоединился: декабрь 2007 | Отправлено: 22 дек. 2007 18:05 | IP
|
|
KMA
Долгожитель
|
Прога без коментов, но думаю тут одни профи и они без проблем разберуться
Профи как раз и отличаются тем, что в своих программах ставят комментарии. Сама программа начинает писаться с комментария, вот собственно почему у многих и проблемы с программированием - не умеют организовать структуру программы. У тебя так же проблема, алгоритма решения задачи нет, а он такой: {==========получаем даные======================} {открываем файл и настраиваем его на файловую переменную} {копируем байты файла в массив} {============================================} {============обрабатываем данные===============} {сортируем массив} {**ищем значение которое встречается меньшее число раз**} {т. к. массив отсортирован, то значения имеют лишь соседи} {если у элемента соседи не равны ему, то можно смело его выводить, он точно самый редкий =)} {если все же соседи есть то считаем сколько таких одинаковых, находим соседей таких элементов с меньшим числом} {***************************************} {============================================} {==========выводим данные ===================} {тупо выводим данные} {=========================================} Теперь давай реализовывай этот алгоритм с комментариями.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 22 дек. 2007 21:37 | IP
|
|
Guest
Новичок
|
Ребята помогите!!! У меня задача на циклы!!! Я составила программу, но очень сомневаюсь, что она правильная! Может, напутала, что с присвоением конечного и начального значения??? Помогите разобраться…. Задание Составить программу расчета значения функции z=f(x,y) с использованием операторов цикла. Значения переменных x и y изменяются соответственно от xn до xk с шагом hx, и от yn до yk с шагом hy и вводятся с клавиатуры Указанные переменные относятся к вещественному типу. Вывести на экран таблицу значений x,y,z. Z=3x2+10y/sqrt|ey-2.5| Внешний repeat внутренний while program three; uses crt; var x,xn,xk,hx,y,yn,yk,hy,z:real; begin clrscr; writeln (’Input xn,xk,hx,yn,yk,hy’); read(xn,xk,hx,yn,yk,hy); x:=xn; y:=yn; repeat while (y<=yk) do begin z:= (3*sqr(x)+exp(y*ln(10)))/(sqrt(abs(exp(y)-2.5))); writeln(‘x=’,x:0:2,’ y=’,y:0:2,’ z=’,z:0:2); y:=y+hy; end; y:=yn; x:=x+hx; until x>=xk; readkey; end.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 25 дек. 2007 13:50 | IP
|
|
Guest
Новичок
|
Сложить процедуру тарификации телефонных звонков.Каждая минута стоит 6 копеек и еще 20% ПДВ!
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 25 дек. 2007 22:24 | IP
|
|
KMA
Долгожитель
|
Задание Составить программу расчета значения функции z=f(x,y) с использованием операторов цикла. Значения переменных x и y изменяются соответственно от xn до xk с шагом hx, и от yn до yk с шагом hy и вводятся с клавиатуры Указанные переменные относятся к вещественному типу. Вывести на экран таблицу значений x,y,z.
Так-то у тебя программа рабочая и понятная. Где ошибки? Возможно если только в кодировании формулы. Либо ты не умеешь писать формулы на форумах, либо на Паскале, но могу сказать одно здесь нет соответствия. Во всех остальных отношениях все четко, понятно, логично.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 26 дек. 2007 2:11 | IP
|
|
Guest
Новичок
|
Умоляю помогите исправить задачку по паскалю О_о Условие >>> Подсчитать число точек, находящихся внутри круга радиусом R с центром в начале координат. Координаты задыны массивами x(8) и y(8). я вот кое как смог набрать решение, но тут чувствую есть ошибки... помогите пжалста с исправлением Program rgr3; Uses crt; Type matr=array[1..8,1..8] of real Var x,y:matr; I,j,r:integer; Kx,ky:integer; Begin Clrscr K:=0; For i:=1 to 8 do For j:=1 to 8 do If sqrt (x[I,j]*x[I,j]+y[I,j]*y[I,j])<=r then K:k+1; Writeln (‘input matr x’); For i:=1 to 8 do For j:=1 to 8 do Read (x[I,j]); Writeln (‘input matr y’); For i:=1 to 8 do For j:=1 to 8 do Read (y[I,j]); Writeln; Writeln (‘chisla’); Writeln (k[I,j]:2:2); Readkey End. [не будешь форматировать текст, никто твои задачи читать не будет, на первый раз я отредактировал: КМА] (Сообщение отредактировал KMA 27 дек. 2007 0:21)
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 26 дек. 2007 16:00 | IP
|
|
KMA
Долгожитель
|
Тебе же сказано, что это вектора, поэтому и представляй как вектора:
Code Sample:
const n=8; Type vector: array [1..n]; VAR x, y: vector
Далее тебе же вначале надо задать эти вектора, поэтому:
Code Sample:
for i:=1 to n do begin write ('Введите через пробел координаты точки ', i, ':'); read (x[ i ], y[ i ]); end;
Ну и под конец посчитать количество точек, попавших в окружность радиуса r (при этом радиус нужно либо забить в константы, либо запросить пользователя).
Code Sample:
k:=0; for i:=1 to n do if (x[ i ]*x[ i ]+y[ i ]*y[ i ])<=r*r then k:=k+1;
С учетом всего этого попробуй написать программу.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 27 дек. 2007 16:19 | IP
|
|
Guest
Новичок
|
с учётом замечаний + я зыбыл добавить в условие что задачу надо решать с помощью подпрограмм, получилось вот что:::: program abc2; uses crt; type vect = array[1..8] of real; var x,y:vect; kx,ky:integer procedure ab(var x:vect; n:integer); var i:integer; begin k:=0; for i:=1 to 8 do if (x[ i ]*x[ i ]+y[ i ]*y[ i ])<=r*r then k:=k+1; end; begin clrscr; writeln ('input vect i'); ab (x,8); readkey; end. (Сообщение отредактировал KMA 28 дек. 2007 15:35)
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 27 дек. 2007 22:16 | IP
|
|
KMA
Долгожитель
|
Здорово, а у меня тупой вопрос: вектора сами задавать будем? Плюсом, зачем ты используешь n, если больше нигде им не пользуешься? Поменяй на k
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 28 дек. 2007 15:38 | IP
|
|
|