Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.04.2007, 15:17   #1
StanPBH
 
Регистрация: 21.04.2007
Сообщений: 6
По умолчанию Сортировка массива строк

Последняя осталась! Не осилю никак!!!

Дана строка, состоящая из 9 слов. За последним словом точка. Напечатать последовательность тех же слов, но в порядке, обратном алфавитному.

И еще,

Распечатать анкетные данные студентов, получивших не более двух оценок 4, а остальные оценки 5.
program laba8;
uses crt;
type
student=record
f:string[20];
gr:real;
o:array[1..4] of integer;
end;
var
list:array[1..3] of student;
i,j:integer;
s:real;
begin
clrscr;
for i:=1 to 3 do begin
writeln('Vvedite familiu i god rozhdenia ',i,'-go studenta');
readln(list[i].f,list[i].gr);
for j:=1 to 4 do begin
write('Ocenka',j,' '); read(list[i].o[j]);
end;
end;
for i:=1 to 3 do begin
s:=0;
for j:=1 to 4 do
if ((list[i].o[j])=4) or ((list[i].o[j])=5) then s:=s+list[i].o[j];
if s>17 then writeln(list[i].f,' ',list[i].gr:4:0);
end;
repeat until keypressed;
end.
почему-то при вводе фамилии 2-го студента тайп масмач пишет??
StanPBH вне форума
Старый 21.04.2007, 15:29   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Цитата:
readln(list[i].f,list[i].gr);
Ошибка, видимо, тут.
ATL вне форума
Старый 21.04.2007, 16:02   #3
StanPBH
 
Регистрация: 21.04.2007
Сообщений: 6
По умолчанию

Понятно, что где-то тут. Но в чем именно косяк?? данные на первого студента нормально вводятся!!
StanPBH вне форума
Старый 21.04.2007, 16:04   #4
StanPBH
 
Регистрация: 21.04.2007
Сообщений: 6
По умолчанию

Ну помогите решить то задачку:
Дана строка, состоящая из 9 слов. За последним словом точка. Напечатать последовательность тех же слов, но в порядке, обратном алфавитному.
StanPBH вне форума
Старый 23.04.2007, 10:43   #5
StanPBH
 
Регистрация: 21.04.2007
Сообщений: 6
По умолчанию

Что, никто не знает? С остальными со всеми разобрался.
Осталась только эта!!
Дана строка, состоящая из 9 слов. За последним словом точка. Напечатать последовательность тех же слов, но в порядке, обратном алфавитному.
StanPBH вне форума
Старый 23.04.2007, 12:45   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Как разделяются слова? Разделителем или пробелом?
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума
Старый 23.04.2007, 15:37   #7
StanPBH
 
Регистрация: 21.04.2007
Сообщений: 6
По умолчанию

разделяются побелами. слова разделил, загнал в масссив осталось отсортировать. КАК СОРТИРОВАНТЬ МАССИВ, СОСТОЯЩИЙ из String?
StanPBH вне форума
Старый 23.04.2007, 16:10   #8
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

А зачем тебе массив. Загоняешь в TStringList и делаешь в нем Sort и все.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума
Старый 23.04.2007, 17:02   #9
RSLoader
_________
Пользователь
 
Аватар для RSLoader
 
Регистрация: 27.03.2007
Сообщений: 69
По умолчанию

Цитата:
КАК СОРТИРОВАНТЬ МАССИВ, СОСТОЯЩИЙ из String?
Над строками определены операции сравнения, поэтому сортировка массива строк ничем не отличается от сортировки массива чисел. Вот, например, сортировка обменом:
Код:
var
  mas:array[1..9] of String;
  s:String;
  i,k:Integer;
begin
  for i:=1 to 9 do readln(mas[i]);
  for k:=9 downto 2 do
  for i:=1 to k-1 do
  if mas[i]<mas[i+1] then
  begin
    s:=mas[i];
    mas[i]:=mas[i+1];
    mas[i+1]:=s;
  end;
  for i:=1 to 9 do writeln(mas[i]);
  readln;
end.
RSLoader вне форума
Старый 24.04.2007, 00:34   #10
StanPBH
 
Регистрация: 21.04.2007
Сообщений: 6
По умолчанию

RSLoader, спасибо, так и сделал :-) Тема закрытта.
StanPBH вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка строк двухмерного массива EfiopianDIMON Общие вопросы C/C++ 9 26.05.2009 22:52
Сортировка строк в TStringGrid dimon000 Общие вопросы Delphi 6 03.07.2008 12:59
Сортировка строк 2-мерного массива Mayday_007 Помощь студентам 1 04.04.2008 09:26
Сортировка строк sheva75 Microsoft Office Excel 3 06.02.2008 05:00