Вопрос № 112909: Здравствуйте! У меня проблема с программой. Пожалуйста помогите...Вопрос № 112919: Ишо один вопросик
Вычислить количество точек с целочисленными координа¬тами, находящихся в круге радиуса R(R>0)
Извините что без блок схемы - не могу выложить...Вопрос № 112954: Здравствуйте, уважаемые эксперты!
Нужно решить задачку на Паскале.
С клавиатуры вводится сумма цифр трехзначного числа, программа выводит все возможные трехзначные числа.
Спасибо!...Вопрос № 112976: Здраствуйте. Помогите с программой. Дан текстовый файл, структура строки известна (10 символов ФИО, пробел, 5 оценок через пробел); таких строк в файле 5. Необходимо создать типизированный файл с компонентами типа student.
Содержание файла 1.txt...Вопрос № 112979: Помогите написать программку на Turbo Pascale, где в случайно заданном массиве будут заменяться знаки элементов массива на противоположные....
Вопрос № 112.909
Здравствуйте! У меня проблема с программой. Пожалуйста помогите
Приложение:
Отправлен: 08.12.2007, 06:16
Вопрос задал: Domin9es (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Устинов С.Е.
Здравствуйте, Domin9es!
Решение Вашей задачи в приложении. Чтоб понять смысл решения нужно представить себе две "реки", которые впадают в одну... Вот примерно такой смысл :)
Ишо один вопросик
Вычислить количество точек с целочисленными координа¬тами, находящихся в круге радиуса R(R>0)
Извините что без блок схемы - не могу выложить
То где-то так (не уверен, что скомпилируется, но идею можно понять)
function rPointsCount(radius: integer): integer;
var
x, y: integer;
begin
result := 0;
// просто проходим по всем целочисленным координатам в пределах заданного
// радиуса
for x := -radius to radius do begin
for y := -radius to radius do begin
// если расстояние от (0;0) - центр окружности
// до точки с координатами (x;y) < radius, то она
// находится внутри этой окружности.
if (sqrt(x*x + y*y) < radius) then begin
result := result + 1;
end;
end;
end;
end;
Ответ отправил: Igor_ (статус: 4-ый класс)
Ответ отправлен: 08.12.2007, 10:56
Отвечает: Витек
Здравствуйте, Мантуров С.Ю.!
var
i,j,kol:integer;
r:real;
begin
Write('Radius=');
ReadLn(r);
kol:=1;
//writeln(trunc(r));
writeln(0,':',0,' ');//первая точка в центре круга
for i:=0 to trunc(r) do
for j:=1 to trunc(r) do
if sqr(r)>=sqr(i)+sqr(j) then
begin
kol:=kol+4;
writeln(i,':',j,' ',i,':',-j,' ',-i,':',-j,' ',-i,':',j);
//вывод остальных точек, считая, что на границе окружности точки также принадлежат ей
//если точки на границе окружности точки не нужно учитывать, то поменяйте
//sqr(r)>=sqr(i)+sqr(j) на sqr(r)>sqr(i)+sqr(j)
end;
write((kol));
end.
--------- ohne fleis, keine preis
Ответ отправил: Витек (статус: 3-ий класс)
Ответ отправлен: 10.12.2007, 08:30
Вопрос № 112.954
Здравствуйте, уважаемые эксперты!
Нужно решить задачку на Паскале.
С клавиатуры вводится сумма цифр трехзначного числа, программа выводит все возможные трехзначные числа.
Спасибо!
Отправлен: 08.12.2007, 15:12
Вопрос задал: Alexd50 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: SHERRY
Здравствуйте, Alexd50!
Гм.. Не могу предложить ничего более дельного, чем полный перебор всех вариантов 3-х значных чисел, проверяя при этом их сумму.. Но это будет не совсем корректный вариант, т.к. задача может быть поставлена и для 4-х, 5-ти и т.д. значных чисел. Тогда этот алгоритм будет работать медленно.
--------- Наши программисты самые программистые программисты!..
Ответ отправил: SHERRY (статус: 5-ый класс)
Ответ отправлен: 08.12.2007, 15:56
Отвечает: Устинов С.Е.
Здравствуйте, Alexd50!
Проще всего это сделать полным перебором (в приложении программная реализация).
Здраствуйте. Помогите с программой. Дан текстовый файл, структура строки известна (10 символов ФИО, пробел, 5 оценок через пробел); таких строк в файле 5. Необходимо создать типизированный файл с компонентами типа student.
Содержание файла 1.txt
Petrov 5 5 5 5 5
Ivanov 4 5 4 5 4
Sidorov 3 5 4 4 5
Popov 5 5 5 5 5
Kozlov 4 4 4 4 4
Описание типа student в приложении
Приложение:
Отправлен: 08.12.2007, 18:07
Вопрос задал: Pavl (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 17)
Отвечает: Gh0stik
Здравствуйте, Pavl!
Вот код, который выполняет нужное преобразование и заполняет типизированный файл данными из текстового файла. type student=record
fio:string[10];
ocenka: array [1..5] of integer; end; var f: file of student;
ftxt:text;
i,code:integer;
z:student;
s:string; begin
assign(ftxt,'student.txt'); reset(ftxt);
assign(f,'student.dat'); rewrite(f); whilenot eof(ftxt) do begin
readln(ftxt,s);
z.fio:=copy(s,1,pos(' ',s));
delete(s,1,pos(' ',s)); for i:=1 to 5 do begin
val(s[1],z.ocenka[i],code);
delete(s,1,2); end; write(f,z); end;
close(ftxt);
close(f); end.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Академик) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) WWW:http://gh0stik.rusfaq.ru/ ICQ: 289363162 ---- Ответ отправлен: 08.12.2007, 18:39 Оценка за ответ: 4 Комментарий оценки: Вот что получилось в файле student.dat: Petrov Ivanov Sidorov Popov v Kozlov
Что-то там вместо нескольких оценок выводятся нули и что за буква v после Popov?
Исправьте, пожалуйста.
Вопрос № 112.979
Помогите написать программку на Turbo Pascale, где в случайно заданном массиве будут заменяться знаки элементов массива на противоположные.
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Голембеский Роман Сергеевич!
Смотрите приложение. вопросы по задаче задавайте в мини-форум, он доступен Вам как автору вопроса. Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал) Украина, Киев Тел.: +380958380164 Адрес: Украина г.Киев ---- Ответ отправлен: 08.12.2007, 19:23