IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Множества, записи и работа с файлами
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Задали мне тут задачки, в которые я просто не врубаюсь.
Ну например -  Дано множество символов. Определить ,есть ли в данном множестве определенный символ. В учебнике множества не могу найти вообще.
Вот еще -  Из списка группы вывести фамилии и имена девочек. Как использовать записи?
Ну и последняя - Построить график функции ......... и записать его в файл.


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


профи
**

Группа: Пользователи
Сообщений: 109
Пол: Мужской

Репутация: -  1  +


Знаешь почему нет ни от кого ни какой реакции?


--------------------
Тело, находящееся в состоянии покоя, стремится смотреть телевизор.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Олег, хватит комментировать  >:( Либо помогай, либо молчи!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Множества, пример:
Код
var s:string;
for i:=1 to n do
if s[i] in ["определенный символ"] then write('Есть');


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Записи:
Код
type people=record
familia:string[20];
name:string[10];
sex:char;
end;
var p:people;
...
...
for i:=1 to n do
begin
if sex='ж' then write(p.familia[i]',' p.name[i]);


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Круто!


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Как вводить с клавиатуры множество символов? Как ввести имена и пол?


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Множество символов может быть константой.
Вводи имена и пол примерно так:

Код
for i:=1 to n do
with p[i] do
begin
write('Имя'); readln(name);
write('Пол'); readln(sex);
end;


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Склепал следующее, но показывает ошибку 121. Что делать?

Код
program Lab;
type people=record
name:string[10];
sex:char;
end;
var p:people;
i:integer;
BEGIN
for i:=1 to 5 do
with p[i] do
begin
write('имя'); readln(name);
write('пол'); read(sex);
end;
for i:=1 to 5 do
begin
 if sex='ж' then writeln(p.name[i]);
end;
END.


Сообщение отредактировано: volvo -


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Вот тебе исправленный код:

Код
program Lab;
const n=5;
type people=record
name:string[10];
fio:string[10];
sex:char;
end;
var p:array[1..n] of people;
i:integer;
BEGIN
for i:=1 to n do
begin
write('фам ');readln(p[i].fio);
write('имя '); readln(p[i].name);
write('пол '); readln(p[i].sex);
end;
for i:=1 to n do
if p[i].sex='1' then begin writeln(p[i].fio); writeln(p[i].name);  end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


А ты крутой перец!


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


А как сделать чтобы вводить количество человек с клавиатуры?


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


С множествами наклепал следующее:
Код
program Lab;
const n=5;
type M=set of 0..9;
var  s:string;
i:INTEGER;
BEGIN
for i:=1 to 5 do
begin
write('число');readln(s);
end;
for i:=1 to 5 do
if s[i] in [3] then writeln('есть!');
end;
END.

Но выдаёт ошибку 26.
А как в записях нужно вставить надпись типа
Код
var n:real;
write('введите количество человек');
read(n);

чтобы вводить количество человек с клавиатуры?

Сообщение отредактировано: volvo -


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


s[i] - символ, а 3 - число.

Мог бы написАть не Ошибка 26, а Type Mismatch. Хотя бы потому, что в Дельфи, например, это ошибка имеет номер 14


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Согласен, ошибка вышла. Но если ставлю символ, то пишет unknown identifier. То есть все символы надо ещё как-то прописать?


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Вот вариант без множества:
Код
program Lab;
const n=5;
var  s:array[1..n] of char;
i:INTEGER;
BEGIN
for i:=1 to 5 do
begin
write('число ');readln(s[i]);
end;
for i:=1 to 5 do
if s[i] in ['3'] then writeln('есть!');
END.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


И всё-таки как вводить с клавиатуры количесиво человек?


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Вариант с множеством:

Код
program Lab;
const n=5;
var  s:array[1..n] of char;
a:set of char;
i:integer;
BEGIN
a:=['1','2','3','4','5','6','7','8','9','0'];
for i:=1 to n do
begin
write('число ');readln(s[i]);
end;
for i:=1 to n do
if s[i] in a then writeln('есть!');
END.


2) В чем проблема?
var d:byte;
writeln('кол-во ');
readln(d);
for i:=1 to d do
.......и т.д.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Ну тупой я! Ну не знаю куда его всунуть!
Вот последний вариант:
Код
program Lab;
const n=5;
type people=record
name:string[10];
familia:string[20];
sex:char;
end;
var
p:array[1..n] of people;
i:integer;
BEGIN
for i:=1 to n do
begin
write('фамилия-'); readln(p[i].familia);
write('имя-'); readln(p[i].name);
write('пол-'); readln(p[i].sex);
end;
for i:=1 to n do begin
if p[i].sex='¦' then writeln('имена:',p[i].name,' ',p[i].familia);  end;
end.

Ну куда его совать?

Сообщение отредактировано: volvo -


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Присваиваешь значение n заведомо большее чем нужно. Например:

Код
program Lab;
const n=500;
type people=record
name:string[10];
familia:string[20];
sex:char;
end;
var
p:array[1..n] of people;
i,s:integer;
BEGIN
writeln('ввести кол-во');
readln(s);
for i:=1 to s do  
begin
write('фамилия-'); readln(p[i].familia);
write('имя-'); readln(p[i].name);
write('пол-'); readln(p[i].sex);
end;  
for i:=1 to s do begin  
if p[i].sex='¦' then writeln('имена:',p[i].name,' ',p[i].familia);  end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 19.09.2017 22:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"