![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Гость |
![]()
Сообщение
#1
|
Гость ![]() |
Задача
Сведения о студентах ВУЗа записаны в массиве и содержит следующую информацию: фамилия, имя отчество, пол (М или Ж), возраст (от 16 до 35), курс (от 1-го до 5-го). Напишите программу, которая вводит эту информацию и печатает следущие данные: номер курса, на котором наибольший процент мужчин. Для решения нужно использовать записи и оператор присоединения. FAQ смотрел, но т.к. там только основа, то не разобрался. Как объявить - понятно. Как ввести информацию тоже понятно, но как оперировать ими в теле программы не очень понятно. Помогите кодом пожалуйста |
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Как объявить - понятно. Как ввести информацию тоже понятно Сделай это для начала. Цитата оператор присоединения что это? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата что это? With ? ![]() |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
буду знать, что он так называется
![]() -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Гость |
![]()
Сообщение
#5
|
Гость ![]() |
Ну а дальше что?
|
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Показать, что сделал.
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
*alt |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 47 Пол: Мужской Репутация: ![]() ![]() ![]() |
Показать, что сделал. Код uses SysUtils, windows; const n=3; type Tpol = (m,w); TRec = record name : string [31]; age : 16..35; kurs : 1..5; sex : Tpol; end; TBase = array [1..n] of TRec; var x:Trec; c:char; base : TBase; procedure Input(var b : TBase); var i,j : integer; c:char; begin writeln('ввод базы данных. '); for i := 1 to n do with b[i] do begin writeln('Студент N ',i); writeln('Имя : '); readln(name); writeln('Возраст: '); readln (age); writeln('Курс: '); readln (kurs); writeln('Пол (m/w): '); readln (c); case c of 'm':x.sex:=m; 'w':x.sex:=w end; writeln; end; end; Я гостем был. Вот ввод сделал... Посчитайте мужчин.. Сообщение отредактировано: *alt - 10.05.2007 11:54 |
samec |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: ![]() ![]() ![]() |
вот как то так (набивал сдесь, так что могут быть ошибки!)
procedure percent(b : TBase);
var
i,max : integer;
kur:array[1..5,1..2] of integer;
temp:real;
begin
for i:=1 to 5 do
begin
kur[i,1]:=0;
kur[i,2]:=0;
end;
for i := 1 to n do
with b[i] do
case sex of
'm':inc(kur[kurs,1]);
'w':inc(kur[kurs,2]);
end;
max:=1;
temp:=100*kur[1,1]/(kur[1,1]+kur[1,2]);
for i:=2 to 5 do
if (100*kur[i,1]/(kur[i,1]+kur[i,2]))>temp then
begin
temp:=100*kur[i,1]/(kur[i,1]+kur[i,2]);
max:=i;
end;
writeln('На ',i,'-ом курсе наибольший процент мужчин');
end;
|
*alt |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 47 Пол: Мужской Репутация: ![]() ![]() ![]() |
samec спасибо, но есть трудность.
Посмотрите код. Вылетает Код program page126num15a; {$APPTYPE CONSOLE} uses SysUtils, windows; const n=3; type Tpol = (m,w); TRec = record name : string [31]; age : 16..35; kurs : 1..5; sex : Tpol; end; TBase = array [1..n] of TRec; // База данных : информация о студентах. var x:Trec; base : TBase; procedure Input(var b : TBase); // ввод базы даннх var i : integer; c:char; begin writeln('Ввод базы данных. '); for i := 1 to n do with b[i] do begin writeln('Студент N ',i); writeln('Имя : '); readln(name); writeln('Возраст: '); readln (age); writeln('Курс: '); readln (kurs); writeln('Введите пол (m/w): '); readln (c); case c of 'm':x.sex:=m; 'w':x.sex:=w end; writeln; end; end; procedure percent(b : TBase); var i,max : integer; kur:array[1..5,1..2] of integer; temp:real; begin for i:=1 to 5 do begin kur[i,1]:=0; kur[i,2]:=0; end; for i := 1 to n do with b[i] do case sex of m:inc(kur[b[i].kurs,1]); w:inc(kur[b[i].kurs,2]); end; {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ВОТ тут почему-то вылетает!!!!!!!!!!!!!!!!!!!!!} max:=1; temp:=100*kur[1,1]/(kur[1,1]+kur[1,2]); for i:=2 to 5 do if (100*kur[i,1]/(kur[i,1]+kur[i,2]))>temp then begin temp:=100*kur[i,1]/(kur[i,1]+kur[i,2]); max:=i; end; writeln('На ',i,'-ом курсе наибольший процент мужчин'); readln; end; begin {обращение к русскому языку} setconsoleCp(1251); setconsoleOutputCp(1251); input(base); percent(base); readln end. |
samec |
![]()
Сообщение
#10
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: ![]() ![]() ![]() |
вот:
program page126num15a;
const n=3;
type
Tpol = (m,w);
TRec = record
name : string [31];
age : 16..35;
kurs : 1..5;
sex : Tpol;
end;
TBase = array [1..n] of TRec;
var x:Trec;
base : TBase;
procedure Input(var b : TBase);
var
i : integer; c:char;
begin
writeln('Ввод базы данных. ');
for i := 1 to n do
with b[i] do begin
writeln('Студент N ',i);
writeln('Имя : ');
readln(name);
writeln('Возраст: ');
readln (age);
writeln('Курс: ');
readln (kurs);
writeln('Введите пол (m/w): ');
readln (c);
case c of
'm':sex:=m; {вот тут я не понял, почему ты писал 'm':x.sex:=m;}
'w':sex:=w {'w':x.sex:=w ?????}
end;
writeln;
end;
end;
procedure percent(b : TBase);
var
i,max : integer;
kur:array[1..5,1..2] of integer;
temp:real;
begin
for i:=1 to 5 do
begin
kur[i,1]:=0;
kur[i,2]:=0;
end;
for i := 1 to n do
with b[i] do
case sex of
m:inc(kur[kurs,1]);
w:inc(kur[kurs,2]);
end;
max:=0; {сдесь небольшие дороботачки}
temp:=0;
for i:=1 to 5 do
if (kur[i,1]>0) then
if (100*kur[i,1]/(kur[i,1]+kur[i,2]))>temp then
begin
temp:=100*kur[i,1]/(kur[i,1]+kur[i,2]);
max:=i;
end;
writeln('На ',max,'-ом курсе наибольший процент мужчин');
end;
begin
input(base);
percent(base);
readln
end.
Сообщение отредактировано: samec - 10.05.2007 15:02 |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
samec, а теперь посмотри на НАЗВАНИЕ раздела! Еще одна не компилящаяся в TP программа - пеняй на себя.
То же самое касается и автора вопроса - думать надо, прежде, чем размещать вопросы где попало... |
samec |
![]()
Сообщение
#12
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: ![]() ![]() ![]() |
volvo исправил, а делал я её в именно в Паскале, просто те строки кода, которые в паскале не компилируются я убирал. А сдесь их поставил, для того, чтобы автор темы ещё раз не спрашивал: "а почему у меня не работает???" . вот и всё. Изините, если что не так.
|
Гость |
![]()
Сообщение
#13
|
Гость ![]() |
volvo, а кстати, где написано в каком компиляторе должна компилиться прога. Писали-то люди на паскале, чего и требует раздел.
|
klem4 |
![]()
Сообщение
#14
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Гость
Исходные тексты, выкладываемые в этот раздел должны обязательно компилироваться под 16б компилятором. Для 32б есть отдельный раздел. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 22:03 |