Одномерный массив и записи |
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! |
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. |
Галия |
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! |
Текстовая версия | 28.04.2024 22:01 |