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

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

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

> Массив из восьми строк, Найти средний бал и отсортировать
kvadrat
сообщение 20.05.2008 23:12
Сообщение #1


Пионер
**

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

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


Дан массив из восьми строк. В строке "фамилия студента_оценка1_оценка2". Приписать к каждой строке средний балл. отсортировать по убыванию балла и распечатать.

Вот мой код, тут вводяться элементы матрицы, и выводятся без всяких изменений. Нужно чтобы он складывал число после первой "_" с числом после второй "_" и сумму делил на 2 и после отсортировал по убыванию. Какие нужно использовать команды и как это всё осуществить подскажите плиз?

Код
program sdfer;
var q:array[1..30,1..8] of string;j,i:integer;
begin
writeln('vvod strok:');
for j:=1 to 8 do
begin
readln(q[i,j])
end;
writeln('matrix:');
for j := 1 to 8 do writeln(q[i, j]);
writeln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
klem4
сообщение 21.05.2008 12:32
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


function StrToInt(const s: string): integer;
var
value, err: integer;
begin
Val(s, value, err);
StrToInt := value;
end;

function GetSum(const s: string): single;
var
first_, second_: byte;
begin
first_ := pos('_', s);
second_ := first_ + pos('_', copy(s, first_ + 1, 255));

GetSum := (
StrToInt(copy(s, first_ + 1, second_ - first_ - 1)) +
StrToInt(copy(s, second_ + 1, 255))
) / 2;
end;

// ...
writeln(GetSum('vasa_4_5'):3:3);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 21.05.2008 18:49
Сообщение #3


Пионер
**

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

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


Поглядите, средний бал выводит, а как отсортировать незнаю, помогите решить плиз? Только плиз без функций и процедур.

program lab6zad3;
uses crt;
const n=2;
var s:array[1..n]of string;
s1:array[1..20]of string;
i,t,q,c:integer;
sr:real;
st:string;
begin
clrscr;
for i:=1 to n do
begin
write('stydent nomer',i,':');{primer vvoda Popov_5_3}
readln(s[i]);
end;
for i:=1 to n do
begin
val(copy(s[i],pos('_',s[i])+1,1),t,c);
val(s[i][length(s[i])],q,c);
sr:=(t+q)/2;
str(sr:4:1,st);
s1[i]:=s1[i]+s[i]+' srednee='+st;
writeln(s1[i]);
end;
readln
end.



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

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

 



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