Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.01.2011, 02:07
Dotam Dotam вне форума
Прохожий
 
Регистрация: 10.01.2011
Адрес: Украина, Черкассы, Хрещатик
Сообщения: 9
Репутация: 10
Печаль Обработка строк, множеств, записей (рядків, множин, записів)

Я только недавно появился на этом форуме, надеюсь что сможете помочь, есть три задачи по теме, как их решать мозг не доходит(((( подскажите идею (если можете в кодовом варианте)
Вот собственно и эти задачи на двух языках:

1.В заданном тексте определить целое число, состоящее из наибольшего количества цифр.
2.Вывести фамилии студентов женского пола, имеющие "5" по информатике.
3.Задано непустая последовательность из маленьких латинских букв. Между соседними словами запятая, за последним словом - точка. Напечатать все согласные буквы, которые входят:
a. хотя бы в одно слово;
b. в три слова.

1. В заданому тексті визначити ціле число, що складається з найбільшої кількості цифр.
2. .Вивести прізвища студентів жіночої статі, що мають "5" з інформатики.
3. Задано непорожню послідовність із маленьких латинських літер. Між сусідніми словами кома, за останнім словом – крапка. Надрукувати всі приголосні літери, які входять:
a. хоча б в одне слово;
b. в три слова.

Последний раз редактировалось Dotam, 10.01.2011 в 10:41.
Ответить с цитированием
  #2  
Старый 10.01.2011, 02:44
Аватар для deltas
deltas deltas вне форума
Новичок
 
Регистрация: 22.11.2010
Сообщения: 99
Репутация: 47
По умолчанию

Я думаю писать код за Вас никто не будет, если платно тогда в раздел - Работа... А если что-то не получается конкретно - спрашивайте, помогут. И думаю это не мое сугубо личное мнение...
Ответить с цитированием
  #3  
Старый 10.01.2011, 05:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Про готовый код тебе сказали. А идеи вот они:
1а. Перевод числа в строку и получение длинны полученного значения - собственно это и есть кол-во цифр.
1б. Написать функцию вида:
Код:
function GetNumberLength(N : Integer) : Integer;
begin
  Result := 0;
  While N > 0 Do
    Begin
      N := N Div 10;
      Inc(Result);
    End;
end;
Дальше, как и в первом случае.

2. Все зависит от того, как эта информация хранится.
Если хранится в виде записи, в которой есть поля имя, пол и соотв. оценка, то это цикл с соотв. условием:
Код:
Type
  TStudent = record
    Name : String;
    Sex : Char;
    mInformatica : Byte;
    ...
  end;

var
  R : Array [1..100] of TStudent;


if (R[i].Sex = 'F') And { F - Female (жениский) }
   (R[i].mInformatika = 5) Then WriteLn(R[i].Name);

3. Тут сложнее. Все зависит от того, надо ли выводить повторы. Если надо, то придется делать через некоторый накопительный массив. Если не надо, то можно работать на прямую.
Суть кода - в счетчиках. Надо идти по строке и считать кол-во присутствующих букв. Далее анализируем значения счетчиков и принимаем решение - выводить или нет текущую букву.
Ответить с цитированием
  #4  
Старый 10.01.2011, 10:37
Dotam Dotam вне форума
Прохожий
 
Регистрация: 10.01.2011
Адрес: Украина, Черкассы, Хрещатик
Сообщения: 9
Репутация: 10
По умолчанию

Я собственно за идеи с кодом и говорил, извините если неправильно выразился))) так что сейчас исправлю...
__________________
Тут может быть ваша программа...

Последний раз редактировалось Dotam, 10.01.2011 в 10:40.
Ответить с цитированием
  #5  
Старый 10.01.2011, 10:47
Dotam Dotam вне форума
Прохожий
 
Регистрация: 10.01.2011
Адрес: Украина, Черкассы, Хрещатик
Сообщения: 9
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Про готовый код тебе сказали. А идеи вот они:
1а. Перевод числа в строку и получение длинны полученного значения - собственно это и есть кол-во цифр.
1б. Написать функцию вида:
Код:
function GetNumberLength(N : Integer) : Integer;
begin
  Result := 0;
  While N > 0 Do
    Begin
      N := N Div 10;
      Inc(Result);
    End;
end;
Дальше, как и в первом случае.

Но как из текста вывести определенное число???
При том что я перебрал пару книг по етому вопросу я нашел только функцию val(перевод из строки в переменную)...
__________________
Тут может быть ваша программа...
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:18.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025