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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.06.2010, 11:36   #1
OKSANO4KA
Пользователь
 
Регистрация: 08.06.2010
Сообщений: 24
Восклицание DELPHI. Слова. Даты.

Пожалуйста помогите решить три задачки на делфи до 29 числа крайний срок


6) Лабораторная работа №2-01
Программа. Дана непустая последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.
(Сборник упражнений В.Н.Пильщиков 14.35а)

Код:
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
 s: set of 'a'..'z';
 c: char;
begin
Writeln ('vvedite clova');
read (c);
s:=[];
 while c <> '.' do
  begin
    if c <>',' then
    s:=s+[c];
    read (c);
    end;
    for c:='a' to 'z' do
     if c in s  then
      write(c);
    readln;
    readln;
    readln;
   { TODO -oUser -cConsole Main : Insert code here }
end.
так эту задачу делала я но не получается, путаюсь при задании гласных и что там делать дальше

7) Лабораторная работа №2-02
type
day=1..31;
mon=1..12;
year=1..2000;
date=record
day;
m:mon;
y:year;
end;
{ считать все даты по новому стилю }
Написать программу, использующую функцию kolday(d), подсчитывающую, сколько дней прошло от 1 января 1 года до даты d. (Сборник упражнений В.Н.Пильщиков 13.19в)
9) Лабораторная работа №2-04
Найти самое длинное общее слово двух заданных предложений.


если нужна плата договоримся пишите сюда, в контакт http://vkontakte.ru/id2338883 или в асю 466740754

Последний раз редактировалось Stilet; 21.06.2010 в 13:42.
OKSANO4KA вне форума
Старый 21.06.2010, 13:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
6) Лабораторная работа №2-01
подсказываю:
Код:
  var a:array['A'..'z'] of char;
 s:string;i:integer;c:char;
begin
 s:='Hello World';
 for i:=1 to length(s) do if pos(s[i],'eyuioEYUIO')<>0 then a[s[i]]:=s[i];
 for c:='A' to 'z' do if a[c]<>#0 then write(a[c]);
 readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума
Старый 21.06.2010, 13:28   #3
OKSANO4KA
Пользователь
 
Регистрация: 08.06.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
подсказываю:
Код:
  var a:array['A'..'z'] of char;
 s:string;i:integer;c:char;
begin
 s:='Hello World';
 for i:=1 to length(s) do if pos(s[i],'eyuioEYUIO')<>0 then a[s[i]]:=s[i];
 for c:='A' to 'z' do if a[c]<>#0 then write(a[c]);
 readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.
я не понимаю, я ж не программист, можно с комментарием??
OKSANO4KA вне форума
Старый 21.06.2010, 13:34   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Код:
var a:array['A'..'z'] of char; //создаем массик букв
 s:string;i:integer;c:char; //s-строковая переменная, n-целочисленная, с-символ
begin
 s:='Hello World'; //наша строка
 //идет цикл от 1 до длины нашей строки s с поиском
 for i:=1 to length(s) do if pos(s[i],'eyuioEYUIO')<>0 then a[s[i]]:=s[i]; 
 //далее присваем поочереди каждую букву нашей символьной переменной с
 for c:='A' to 'z' do if a[c]<>#0 then write(a[c]);
 readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.
Если что не так, то поправьте.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 21.06.2010, 13:38   #5
OKSANO4KA
Пользователь
 
Регистрация: 08.06.2010
Сообщений: 24
По умолчанию

[QUOTE=artemavd;559560]
Код:

 for c:='A' to 'z' do if a[c]<>#0 then write(a[c]);
 readln;
все поняла кроме этого...что за ноль? и в ответе будут гласные через запятую в каждом слове по порядку? или это только кусок проги?
OKSANO4KA вне форума
Старый 21.06.2010, 13:41   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что за ноль?
Ну надо же как-то отличать символы, которые нужно вывести на экран от других?
Смысл в том что все гласные из строки помещаются в некий массив, на свои места согласно их символу, остальные места пустые, и имеют код #0
При выводе на экран, какие же гласные есть мы проходим по всему массиву, но отсекаем ячейки где символов нет(#0)
Цитата:
или это только кусок проги?
Нет это вся программа для одной строки.
I'm learning to live...
Stilet вне форума
Старый 21.06.2010, 13:43   #7
OKSANO4KA
Пользователь
 
Регистрация: 08.06.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну надо же как-то отличать символы, которые нужно вывести на экран от других?
Смысл в том что все гласные из строки помещаются в некий массив, на свои места согласно их символу, остальные места пустые, и имеют код #0
При выводе на экран, какие же гласные есть мы проходим по всему массиву, но отсекаем ячейки где символов нет(#0)

Нет это вся программа для одной строки.
а они будут по порядку через запятую выводиться??
OKSANO4KA вне форума
Старый 21.06.2010, 13:44   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

OKSANO4KA, тебе был дан ответ выше.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 21.06.2010, 13:54   #9
OKSANO4KA
Пользователь
 
Регистрация: 08.06.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну надо же как-то отличать символы, которые нужно вывести на экран от других?
Нет это вся программа для одной строки.
не правильно получается все равно...буквы строчные это ладно, но задавать строку надо чтобы между словами запятаю а в конце точка...а выводить ответ аналогично чтобы каждое слово(то есть гласные из него по порядку) разделялось запятой а в конце точка, а выводит просто гласные из всего предложения...
OKSANO4KA вне форума
Старый 21.06.2010, 14:04   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Все там правильно. Я же сказал - это только для одной строки.
Если тебе нужно разделить строку на слова то рекомендую:http://www.programmersforum.ru/showt...369#post398369
А далее в цикле по массиву слов проходись и проверяй.
I'm learning to live...
Stilet вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить текст на слова и произвести поиск каждого слова по текстовому массиву Burning_brook Microsoft Office Excel 2 22.05.2010 01:56
Автоматизация заполнения даты и зависимость ячейки времени к ячейке даты. Каравай Microsoft Office Excel 14 11.03.2010 18:11
Ввод даты в DBE Delphi 7 Ramirag Помощь студентам 4 02.12.2009 16:02
Слова и строки в Delphi... Zibiv Помощь студентам 26 16.12.2008 15:57
Формат даты разняться в Delphi Cantana Помощь студентам 4 28.04.2008 09:16