На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 15.01.17 12:30. Заголовок: Можно ли выводить данные сразу же?


Здравствуйте! Подскажите, пожалуйста, является ли верным такое решение задачи №4?
Сама задача:
4) На вход программы подаются фамилии и имена учеников. Известно, что общее количество учеников не превосходит 100. В первой строке вводится количество учеников, принимавших участие в соревнованиях, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов. При этом <Фамилия> и <Имя> разделены одним пробелом. Примеры входных строк:
Иванова Мария
Петров Сергей
Требуется написать программу, которая формирует и печатает уникальный логин для каждого ученика по следующему правилу: если фамилия встречается первый раз, то логин – это данная фамилия, если фамилия встречается второй раз, то логин – это фамилия, в конец которой приписывается число 2 и т.д. Например, для входной последовательности
Иванова Мария
Петров Сергей
Бойцова Екатерина
Петров Иван
Иванова Наташа
будут сформированы следующие логины:
Иванова
Петров
Бойцова
Петров2
Иванова2

Решение на PascalABC:

var a:array[1..100] of string;//сюда сохраняем повторяющиеся фамилии только по одному разу
b:array[1..100] of integer;
i1,i,n,p,j:integer;
t:boolean;
s:string;

begin
readln(n);
i1:=0;
for i:=1 to n do
begin
t:=false;
readln(s);
p:=pos(' ',s);
s:=copy(s,1,p-1);//определили фамилию
for j:=1 to i1 do
if a[j]=s then
begin
t:=true;//проверили, присутствует ли она в списке
inc(b[j]);
writeln(s,b[j]);//если да, вывели логин
break;
end;
if t=false then
begin
inc(i1);
a[i1]:=s;
b[i1]:=0;
inc(b[i1]);
writeln(s);//если нет, записали фамилию и вывели логин
end;
end;
end.

Можно ли выводить информацию по мере ее поступления и не проходиться по массиву очередной раз?
Заранее спасибо за ответ!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]


Администратор




Сообщение: 1236
ссылка на сообщение  Отправлено: 16.01.17 06:21. Заголовок: Nastyan пишет: Можно..


Nastyan пишет:
 цитата:
Можно ли выводить информацию по мере ее поступления и не проходиться по массиву очередной раз?

Думаю, что можно. В условии никаких ограничений нет. Но все зависит от критериев, которые будут выданы экспертам во время проверки.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 16.01.17 08:09. Заголовок: А каким образом данн..


А каким образом данные вводятся в программу? Через файл?)

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 1237
ссылка на сообщение  Отправлено: 16.01.17 08:13. Заголовок: Nastyan пишет: А как..


Nastyan пишет:
 цитата:
А каким образом данные вводятся в программу? Через файл?)

Обычно предполагается, что данные идут из входного потока (с клавиатуры). Могут читаться из файла, могут поступать через сеть. Это не важно - используем readln.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 24.01.17 11:35. Заголовок: Вот, а я никак не мо..


Вот, а я никак не мог найти ответ. Спасибо.полусфера

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 111
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет