Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
1353.
smit
(14.05.2007 20:30)
0
Ахтунг!!! сайт еще обновляется?) сайт классный...но мля нигде немогу найти полностью русский турбопаскал если знаете где пришлите плиз на мыло ссылку(ПОЛНОСТЬЮ РУССКИЙ)
Ответ: Максимум, что можно предложить - это руссифицированная помощь. Мне в жизни не приходилось видеть ПОЛНОСТЬЮ РУССИФИЦИРОВАННОГО Паскаля - такая вот Эстония получается :))
|
1352.
света
(14.05.2007 19:30)
0
спасибо, что тратите на меня свое время, несмотря на свои дела, надеюсь вы мне поможите :-)
Ответ: Привет. Программа даже в простейшем варианте получилась длинная. Не знаю, стоит ли сюда помещать. Выслал письмом
|
1351.
Eugene
(14.05.2007 09:45)
0
графику сделал, спасибо за внимание , извините если что ;)
Ответ: :) Да ничего - дел что-то многовато. Не успеваю сделать все, что просят
|
1350.
Дина
(13.05.2007 23:50)
0
Здраствуйте! Подскажите,как задать постраничный вывод результатов?
Ответ: 1) Можно проверять положение вывода с помощью функции: uses CRT; ... Row := WhereY и как только Row = 24 - ReadKey - задерживаем последующий вывод до нажатия любой клавиши, а потом: ClrScr 2) можно в несколько колонок Что нужно?
|
1349.
Михаил
(13.05.2007 20:29)
0
пожалуйста, помогите решить задачки... очень-очень нужно, не успеваю по срокам сдачи ((
1.условие:
для матрицы А (4 стр, 5 стб) вычислить выражение y=M1M5+M2M4+...+M5M1, где Mk-значение наибольшего элемента в k-той строке матрицы. Для поиска наибольшего элемента в произвольном столбце матрицы использовать процедуру
2. условие:
составить процедуру, изменяющую исходный одномерный массив х (его брать из файла) путем деления его положительных элементов на свои индексы и считающую число таких замен. Используя процедуру, определить, в каком из двух заданных одномерных массивов А и В будет больше измененных элементов
А=(0,1; 2,65; 23,45; -17,5; -5464; -5,7; В=(-56,4; 0,04; 5,87; 4,23; 0; 5,8).
заранее благодарен
Ответ: Вторая задача (первая выше). Чтение исходных данных сделал на основе первой: ---- const n = 6; type TArray = array[1..n] of real;
function ReadData(FileName: String; var Ar1, Ar2: TArray): Integer; {0 - хорошо, не 0 - не удалось прочитать} var f: Text; i, code: Integer; begin Assign(f, FileName); {$I-} Reset(f); {$I+} code:= IOResult; ReadData:=code; if code <> 0 then begin WriteLn(''Не могу открыть файл '',FileName); Exit end; for i:=1 to n do if EOF(f) then Code := -2022 else begin {$I-} Read(f, Ar1[i]); {$I+} Code:=IOResult end; ReadData:=Code; if Code <> 0 then begin WriteLn(''Ошибка чтения данных из файла '',i:3); if code = -2022 then WriteLn(''Неожиданный конец файла '',FileName); Exit {немедленный выход из подпрограммы} end; for i:=1 to n do if EOF(f) then Code := -2022 else begin {$I-} Read(f, Ar2[i]); {$I+} Code:=IOResult end; ReadData:=Code; if Code <> 0 then begin WriteLn(''Ошибка чтения данных из файла '',i:3); if code = -2022 then WriteLn(''Неожиданный конец файла '',FileName); Exit {немедленный выход из подпрограммы} end; Close(f); end;
function NumberOfDivs(var ar: TArray): Integer; {число делений} var count, i: Integer; begin count:=0; for i:=1 to n do if ar[i] > 0 then begin ar[i]:=ar[i]/i; inc(count) end; NumberOfDivs:=count end;
var A, B: TArray; nA, nB: Integer; BEGIN if ReadData(''input.dat'', A, B) <> 0 then Halt(1) else WriteLn(''Данные считаны''); WriteLn('' Массив A Массив B''); for nA:=1 to n do WriteLn(A[nA]:10:2,'' '',B[nA]:10:2); nA := NumberOfDivs(A); nB := NumberOfDivs(B); Writeln(''Число измененных элементов в массиве A = '',nA,+ '', в массиве B = '',nB); if nA > nB then WriteLn(''В массиве А число изменных элементов больше'') else WriteLn(''В массиве B число изменных элементов больше''); WriteLn(''Изменные массивы:''); WriteLn('' Массив A Массив B''); for nA:=1 to n do WriteLn(A[nA]:10:2,'' '',B[nA]:10:2); END. ----- Файл данных 0,1; 2,65; 23,45; -17,5; -5464; -5,7; -56,4; 0,04; 5,87; 4,23; 0; 5,8
|
1348.
Eugene
(13.05.2007 15:10)
0
пожалуйста, очень прошу, помогите мне решить программу с графикой. Пропадаю ((((
Ответ: Чуть позднее пришлю - сейчас занятия
|
1347.
Николай
(12.05.2007 23:10)
0
здравствуйте, пишу программку для определения числа перемен знака в массиве, проверяю произведением последующих членов.
хочу спросить, как сделать массив с регулируемыми размерами... и вторая проблемка: программа выводит мне 10 строк ответов... а должна одну... что не так, посмотрите пожалуйста... Заранее спасибо.
program zadacha; type mas=array[1..10] of real; var x:mas; ch:integer; i:integer; f1,f2:text;
function chislo(var x:mas; ch:integer):integer; var i:integer; n:byte; begin ch:=0; for i:=1 to n do begin if x[i]*x[i+1]<0 then ch:=ch+1; end; chislo:=ch; end;
begin assign(f1,''vhod2.txt''); assign(f2,''vidox.txt''); reset(f1); rewrite(f2); for i:=1 to 10 do read(f1,x[i]); writeln(f2,'' '':35,''results''); writeln(f2); for i:=1 to 10 do begin ch:=chislo(x,i); writeln(f2,''chislo peremen znaka ravno'',ch:0); end; close(f1); close(f2); end.
Ответ: 10 раз выводится от того, что Вы написали в конце программы: for i:=1 to 10 do begin ch:=chislo(x,i); writeln(f2,''chislo peremen znaka ravno'',ch:0); end; -- Вот 10 раз и рассчитывается и выводится одно и тоже. Уберите цикл for. Насчет "регулируемых размеров" можно одно из трех: 1) открытый массив - одна и та же подпрограмма рассчитывается число изменений знака У МАССИВОВ разной длины, объявленных заранее; 2) объявляется массив максимально большой длины, но используется только часть его, и известно (нужно передавать подпрограмме) число используемых элементов; 3) с помощью указателей можно определить массив по настоящему разной длины. Длину массива вводим с клавиатуры (или из файла)
|
1346.
Мариша
(12.05.2007 21:53)
0
помогите плиз!!! сделать программы!!!! конечно не бесплатно!!!! я с уфы!!!!!
Ответ: Лучше напишите, какие программы?
|
1345.
света
(12.05.2007 19:43)
0
привет! для кого не сложно, а для кого почти темный лес :-)
Ответ: Почти доделал - сейчас занятия
|
1344.
Олег
(12.05.2007 16:52)
0
делаю программу для определения числа перемен знака в массиве с регулируемыми размерами число перемен определяю произведением последующих членов мой код: program zadanie; type mas=array[1..4000] of real; var x:mas; ch:integer; i,n:integer; f1,f2:text; function chislo(var x:mas; var ch:integer):integer; var i,n:integer; begin ch:=0; for i:=1 to n do if x[i]*x[i+1]<0 then ch:=ch+1; chislo:=ch; end; begin assign(f1,''vhod.txt''); assign(f2,''vidod.txt''); reset(f1); rewrite(f2); for i:=1 to n do read(f1,x[i]); writeln(f2,'' '':25,''results''); writeln(f2); for i:=1 to n do begin ch:=chislo(x,i); write(f2,''chislo peremen znaka ravno'',ch); end; close(f1); close(f2); end. проходит компиляция, осуществляется запуск. Проблема в том, что в выходном файле появляется ТОЛЬКО results, а самих результатов нет подскажите пожалуйста, где недоработка
Ответ: В 10 строке снизу после '' '' поставить запятую, имя переменной и только после это формат вывода :25
|
1343.
andrey
(12.05.2007 14:58)
0
а) real б) массив длины, не известной заранее, из тех где пишут type takoito=array [1..10922] of real;
Ответ: Привет. Код программы поместил в первый Ваш вопрос. Чтение исходных данных из файла, но несложно переделать для ввода с клавиатуры. Используется указатель на массив - это позволяет определить длину массиву УЖЕ ПОСЛЕ ввода его длины. Посмотри, и если что не понятно - пиши. ЗЫ: длина массива ограничена тем, что общий размер памяти, выделенный GetMem не может быть больше 64 К, но можно обойти. Работа будет чуть посложнее
|
1342.
Eugene
(12.05.2007 14:56)
0
нет, значения не имеет
|
1341.
newb
(12.05.2007 14:44)
0
большое спасибо
Ответ: :)
|
1340.
andrey
(12.05.2007 14:21)
0
вот такая вот задача терзает мой мозг...
условие: составить процедуру, исх. данное которой массив b из n элементов... результат процедуры - нахождение коэффициентов многочлена, являющегося суммой многочленов b1x^n+b2x^n-1+...+b[n]x (x^.. - х в степени, b[n] - n-ный член b) все это нужно сделать с текстовыми файлами и массив должен быть с регулированными размерами к сожалению, я не могу понять, что от меня хотят в этой задаче.
пожалуйста, помогите!! Объясните хотя бы, как искать. Я знаю. что такое коэффициенты, но не знаю, как написать программу для их нахождения. Прошу, подскажите
Ответ: Мне кажется так: 1) коэффициенты и есть массив b. То есть, видимо нужно прочитать из файла. В нем, наверно, должно быть записано число коэффициентов, и затем сами коэффициенты. 2) Затем нужно прочитать значение x, вычислить сумму, то есть, видимо, следует читать "нахождение суммы многочлена", а не "коэффициентов" 3) "регулированные" размеры - скорее всего означает, что количество коэффициентов заранее неизвестно. НО ТЕПЕРЬ ВОПРОСЫ, ПРЕЖДЕ ЧЕМ НАПИСАТЬ: --- Вот мой вариант с чтением исходных данных из файла INPUT.TXT (приводится ниже) uses CRT; {$R-} const InpFName: String = ''input.txt''; type Pcoeffs = ^TCoeffs; TCoeffs = array[1..1] of Real; var N: Integer; x: Real; function ReadCoeffs: PCoeffs; var f: Text; P: PCoeffs; i: Integer; r: Real; begin P:=nil; Assign(f, InpFName); {$I-} Reset(f); {$I+} if IOResult <> 0 then begin WriteLn(''Не могу открыть файл '',InpFName); Halt(1) end; ReadLn(f, N); if (N < 1) or (N*SizeOf(Real) > 65530) then begin WriteLn(''Неправильное значение количества слагаемых: '', N); Close(f); Halt(1); end; GetMem(P, sizeof(Real)*N); for i:=1 to N do begin {$I-} Read(f, r); {$I+} if IOResult <> 0 then begin WriteLn(''Ошибка чтения из файла''); FreeMem(p, Sizeof(Real)*N); Close(f); Halt(2); end; p^[i]:=r end; {$I-} Read(f, x); {$I+} if IOResult <> 0 then begin WriteLn(''Ошибка чтения из файла значения X''); FreeMem(p, Sizeof(Real)*N); Close(f); Halt(2); end; Close(f); ReadCoeffs := p end;
var coeffs: PCoeffs; k: Integer; sum: Real; BEGIN ClrScr; coeffs:= ReadCoeffs; for k:=1 to N do WriteLn(k:2,'') '',coeffs^[k]); WriteLn(#13,''x = '', x); WriteLn; Sum:=0; for k:=1 to N do sum:= (sum + coeffs^[k])*X; WriteLn(''Значение суммы:'', sum); if coeffs <> nil then FreeMem(coeffs, sizeof(real)*N); ReadKey END. -- Содержимое файла INPUT.TXT 11 0.1 2.1 3.2 4.0 0.01 9.4 6.1 8.1 0.2 0.1 1.0 0.22
|
1339.
Eugene
(12.05.2007 14:21)
0
очень нужна Ваша помощь мне нужно создать паскаль-программу с графикой, а именно совмещенные по центру геометрические фигуры, вложенные друг в друга. Ограниченные области заполнить разными вариантами заполнения (все варианты штриховки), сделать цвет фона и пояснение к рисунку из 2-3 слов. буду очень благодарен
Ответ: А какие фигуры - имеет значение?
|
|
|
|