Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26

Неверная кодировка при записи в файл

27.06.2014, 12:32. Показов 4648. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите доделать программу, пожалуйста. Прога выводит данные о кругах, записывает в файл, но иероглифами...
и без поиска площади пересечения с квадратом

Создать файл F1, содержащий записи о параметрах заданного числа кругов. Каждая запись файла должна включать случайные координаты центра из интервала [0.0,10.1] и случайный радиус из [0.0,5.0], полученные Random. Найти в файле круг, площадь пересечения которого с квадратом [0..10][0..10] максимальна. Записать в файл F2 информацию о всех кругах файла F1, целиком лежащих в максимальном найденном круге.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
program practice;
type krug=record
         x,y,r:real;
         end;
var f1,f2: file of krug;
    z,zmx:krug;
    n,i,k: integer;
    mx:real;
begin
randomize;
assign (f1, 'input.txt');
rewrite(f1);
writeln('Введите число кругов:');
read(N);
for i := 1 to N do
 begin
  z.x:=10.1*random;
  z.y:=10.1*random;
  z.r:=5*random;
  write(f1,z)
 end;
writeln('Содержание файла F1');
seek(f1,0);
mx:=0;
while not eof(f1) do
 begin
  read(f1,z);
  writeln('(',z.x:5:2,',',z.y:5:2,',',z.r:5:2,') ');
  if pi*sqr(z.r)>mx then
   begin
    mx:=pi*sqr(z.r);
    zmx:=z
   end;
 end;
writeln;
writeln('Самый большой круг (',zmx.x:5:2,',',zmx.y:5:2,',',zmx.r:5:2,') его площадь=',mx:0:2);
assign(f2,'output.txt');
rewrite(f2);
seek(f1,0);
k:=0;
while not eof(f1) do
 begin
  read(f1,z);
  if sqrt(sqr(z.x-zmx.x)+sqr(z.y-zmx.y))<zmx.r-z.r then
   begin
    k:=1;
    writeln(f2,z);
   end;
 end;
close(f1);
if k=0 then write('Нет кругов, полностью лежащих в самом большом круге')
else
 begin
  writeln('Содержание файла F2');
  seek(f2,0);
  while not eof(f2) do
   begin
    read(f2,z);
    writeln('(',z.x:5:2,',',z.y:5:2,',',z.r:5:2,') ');
   end;
 end;
close(f2)
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.06.2014, 12:32
Ответы с готовыми решениями:

Неверная кодировка при выводе в консоль
В моей программе нужно использовать очищение экрана - clrscr :) но тогда весь русский текст, который выводится на консоль становится...

Неверная кодировка при записи в файл
как сделать так чтобы программа смогла записывать русский и украинский язык у меня записывает только цифры ангалийську язык #include...

Неверная кодировка при записи в файл
Пишу маленькую СУБД. Когда тестировал функцию ввода в файл, вместо человеческих слов выдает неясные символы. Пытался как-то разобраться с...

25
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.06.2014, 16:06
Pascal
1
f1,f2: file of krug;
Это файлы типизированные и могут быть прочитаны только программой где описан этот тип. Но уж никак не Блокнотом или другим текстовым редактором.

Добавлено через 2 минуты
Цитата Сообщение от KateKate Посмотреть сообщение
и без поиска площади пересечения с квадратом
Но зато с
Цитата Сообщение от KateKate Посмотреть сообщение
Нет кругов, полностью лежащих в самом большом круге
Когда сдираете чужой код, то не ждите что он обязательно решит Вашу задачу...
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
01.07.2014, 11:45  [ТС]
я не сдирала, мне помогли на этом же форуме
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
01.07.2014, 12:30

Не по теме:

Цитата Сообщение от KateKate Посмотреть сообщение
мне помогли на этом же форуме
В ваших предыдущих темах еще никто ничего не отвечал... т.е. вы именно где-то "содрали" этот код.



Добавлено через 2 минуты

Не по теме:

Или здесь явное нарушение правил

5.12: Запрещено создавать несколько учетных записей (пользователей-клонов).



Добавлено через 5 минут

Не по теме:

Кстати, на слово "содрали" не надо обижаться или как-то смущаться - это нормальное явление, форум для того и создан... по большей части.

0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.07.2014, 13:22
Цитата Сообщение от KateKate Посмотреть сообщение
с квадратом [0..10][0..10]
А что это за числа? Как задается квадрат?

Добавлено через 14 минут
А как найти площадь пересечения круга и квадрата лучше узнать на форуме Геометрия,
https://www.cyberforum.ru/geometry/
там люди больше знают по таким темам. А потом переведем в Паскаль.
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
02.07.2014, 08:17  [ТС]
вы именно где-то "содрали" этот код.
лично мой код вот
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program practice;
var
x1, y1, x,  s,y: real;
N, i, k: integer;
f: file of real;
procedure circle(var x1, y1, x, y: real; var i: integer);
begin
Randomize;
x := 0.0*random;
y := 10.1*random;
writeln('Центр окружности O=[', x:1:1, ';', y:1:1, '];');
x1 := 0.0*random;
y1 := 5.0*random;
writeln(' Радиус r=[', x1:1:1, ';', y1:1:1, '].');
end;
begin
assign (f, 'input.txt');
rewrite(f);
write('Введите число кругов:');
readln(N);
k := 1;
for i := 1 to N do
begin
write(k, ')');
circle(x, y, x1, y1, i);
writeln('');
k := k + 1;
end;
while not eof(f) do
 
writeln(s);
close(f);
end.
с него мне и помогали
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
02.07.2014, 08:22
Смотрю тему создали в Геометрии. Это хорошо, может кто и ответит.
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
03.07.2014, 11:31  [ТС]
Смотрю тему создали в Геометрии. Это хорошо, может кто и ответит.
определенной формулы нет..
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.07.2014, 11:36
Цитата Сообщение от KateKate Посмотреть сообщение
определенной формулы нет..
Ну это само собой, просто я думал кто подскажет как правильно учесть все случаи пересечения и форму получаемых фигур. Если бы была формула, не отсылали бы туда.

Добавлено через 34 секунды
По ошибке или нет, но это очень сложное условие.
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
03.07.2014, 11:47
KateKate,
1) с тем, что в файл записывается информация корректно, просто её нельзя увидеть без программы (вопрос про иероглифы) можно считать закрытым?

2)
Цитата Сообщение от KateKate Посмотреть сообщение
определенной формулы нет..
точно, формулы нет. Но у нас же в руках есть компьютер. А он может выполнять множество действий.
Например, он может разбить площадь пересечения на очень маленькие отрезки (чем меньше, тем выше точность), найти суммарную площадь этих отрезков, это и даст площадь пересечения.

Если такой вариант устроит, то код подсчёта могу написать. В качестве развлекухи...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.07.2014, 12:14
Так и не получил ответа как задается квадрат и где он находится. Для начала нужно определить пересекаются ли квадрат и окружность, это тоже не 1 строчку написать...
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
03.07.2014, 12:25  [ТС]
Sergio Leone, если не сложно

Добавлено через 7 минут
Puporev, да я это понимаю
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.07.2014, 13:46
Цитата Сообщение от KateKate Посмотреть сообщение
да я это понимаю
Да нихрена ты не понимаешь, сколько раз спрашивать про квадрат???
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
03.07.2014, 13:51  [ТС]
Puporev, да, координаты квадрата, извини, не увидела x от 0 до 10 и y от 0 до 10

Добавлено через 1 минуту
Puporev, по идее квадрат описывается тоже в первом файле
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.07.2014, 13:59
Цитата Сообщение от KateKate Посмотреть сообщение
с квадратом [0..10][0..10]
Так это только 2 каких-то координаты, нужно еще 2 или длину стороны.

Добавлено через 5 минут
А насчет площади пересечения можно посмотреть количество точек квадрата в круге.
Крайние координаты области мы знаем, можно построить сетку например с шагом 0.1, и определять принадлежность точек сетки данному кругу и квадрату и считать. Для какого круга количество точек больше, тот и ответ. Нам же сама площадь и не нужна.
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
03.07.2014, 13:59  [ТС]
Puporev,тогда наверно это указанны две его стороны, потому что больше никаких данных нет Puporev,
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.07.2014, 14:00
Цитата Сообщение от KateKate Посмотреть сообщение
это указанны две его стороны
Так у квадрата одна сторона, остальные такие же.
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
03.07.2014, 14:03  [ТС]
Puporev, ну да, но в задании так написано, может просто опечатка, но это по-любому сторона
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.07.2014, 14:03
Короче без знаний где расположен квадрат это не решить, что-то Вы пропустили в условии.
0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 26
03.07.2014, 14:05  [ТС]
Puporev,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.07.2014, 14:05
Помогаю со студенческими работами здесь

Неверная кодировка при записи в файл
Пишу программу, которая данные из формы заносит в dbf-файл по нажатию кнопки. Код кнопки такой такой: str = textBox1.Text; ...

Неверная кодировка при записи в файл
Написал Windows Forms приложение на C# Но имеется проблема с кодировкой. Нужно чтобы русские символы тоже сохранял. Не знаю как...

Неверная кодировка при записи в БД
Помогите разобраться с кодировкой Сделала приложение который записывает на базу данные, данные на русском Вот когда ввожу данные то на...

Неверная кодировка при записи в БД
Проблема очень нестандартная и странная. При записи данных (а именно строка с кирилицей в UTF-8) в БД (таблица InnoDB utf8_general_ci)...

Неверная кодировка при записи в БД
В базе данных стоит тип данных nvarchar(200), если записать кирилицу прямо через Management Studio русские буквы работают как нужно, когда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru