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

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

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

 
 Ответить  Открыть новую тему 
> Одномерный массив и записи
Галия
сообщение 2.05.2004 18:59
Сообщение #1


Гость






Привет! Поиогите пожалуйста решить 2 задачи!
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
кол-во элементов массива, равных 0.
сумму элементов массива, расположенных после минимального элемента.
Упорядочить элементы массива по возрастанию модулей элементов

Записи:
Описать переменную расписания, содержащую:
день недели
кол-во пар в этот день
время начала и конца пары
название предмета
фамилию препода
Вывести полную информацию о занятиях, относящихся к предметной области "Информатика"
Заранее спасибо!!!
 К началу страницы 
+ Ответить 
Catty
сообщение 3.05.2004 0:57
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 239
Пол: Женский
Реальное имя: Юлия

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


Код
uses Crt;
const n=8;
var a:array[1..n] of real;
i,j,k,l:byte;  min,S,h:real;
begin
ClrScr;
writeln('vvedite masiv:');
for i:=1 to n do begin
write('vvedite',' ',i,'-uj element masiva:>',' ');
readln(a[i]);
end;
writeln;
writeln('zadanuj masiv:');
for i:=1 to n do
write(a[i]:4:1);
writeln;
k:=0;
for i:=1 to n do
if a[i]=0 then inc(k);
writeln;
writeln('kolichestvo nulevux elementov masiva=',' ',k);
min:=a[1]; l:=1;
S:=0;
for i:=2 to n do
if a[i]<min then
begin
min:=a[i];
l:=i;
end;
for j:=l to n do
S:=S+a[j];
writeln;
writeln('min=',' ',min:4:1);
writeln('summa elementov posle min=',' ',S:4:1);
writeln;
for i:=1 to n-1 do
for j:=1+i to n do
if abs(a[i])>abs(a[j]) then
begin
h:=abs(a[i]);
a[i]:=abs(a[j]);
a[j]:=h;
end;
writeln;
writeln('sortirovka masiva po vozrostaniu');
for i:=1 to n do
writeln(a[i]:4:1);
end.

первая программа

во второй просто ввести записи и и сделать фильтрацию по слову "информатика" или как?

Сообщение отредактировано: Catty - 3.05.2004 1:04


--------------------
For every evil under the sun
There is a remedy or there is none
If there is one - try to find it
If there is none - never mind it!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AlaRic
сообщение 3.05.2004 7:35
Сообщение #3


...
*****

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

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


Так будет чуть легче:

Код
uses Crt;
const n=8;
var a:array[1..n] of real;
i,j,k,l:byte;  min,S,h:real;
begin
ClrScr;
k:=0;S:=0;
min:=a[1]; l:=1;
writeln('vvedite masiv:');
for i:=1 to n do begin
write('vvedite',' ',i,'-uj element masiva:>',' ');
readln(a[i]);
if a[i]=0 then inc(k);
if a[i]<min then
begin
min:=a[i];
l:=i;
end;
end;
writeln('zadanuj masiv:');
for i:=1 to n do
write(a[i]:4:1);
writeln('kolichestvo nulevux elementov masiva=',' ',k);
for j:=l to n do
S:=S+a[j];
writeln('min=',' ',min:4:1);
writeln('summa elementov posle min=',' ',S:4:1);
writeln;
for i:=1 to n-1 do
if abs(a[i])>abs(a[i+1]) then begin
h:=abs(a[i]);
a[i]:=abs(a[i+1]);
a[i+1]:=h;
end;
writeln('sortirovka masiva po vozrostaniu');
for i:=1 to n do
writeln(a[i]:4:1);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Галия
сообщение 3.05.2004 19:19
Сообщение #4


Гость






Огроменное спасибо за первую задачу! А вовторой да только ввод и фильтрация
 К началу страницы 
+ Ответить 
Catty
сообщение 3.05.2004 22:53
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 239
Пол: Женский
Реальное имя: Юлия

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


Код
uses Crt;
type
raspisanie=record
den:string;
k_par:byte;
vremja_nach:byte;
vremja_kon:byte;
predmet:string;
fam:string;
end;
var
a:array[1..20] of raspisanie;
i,n:byte;    anw:char;
Begin
ClrScr;

i:=1; repeat
with a[i] do begin
write('den:>'); readln(den);
write('k_par:>'); readln(k_par);
write('vremja_nach:>'); readln(vremja_nach);
write('vremja_kon:>'); readln(vremja_kon);
write('predmet:>'); readln(predmet);
write('fam:>'); readln(fam);
end;
inc(i);

writeln('Do u want to create a new one record ?');
 readln(anw);
 until (anw ='N') or (anw='n');

n:=i-1;
ClrScr;
writeln('informacija o predmete "informatika"');
writeln;
for i:=1 to n do
begin
if (a[i].predmet='informatika') then
with a[i] do begin
write('den:>'); writeln(den);
write('k_par:>'); writeln(k_par);
write('vremja_nach:>'); writeln(vremja_nach);
write('vremja_kon:>'); writeln(vremja_kon);
write('predmet:>'); writeln(predmet);
write('fam:>'); writeln(fam);
end;
end;
ReadKey;
End.

так что ли? :p2:


--------------------
For every evil under the sun
There is a remedy or there is none
If there is one - try to find it
If there is none - never mind it!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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