Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Однофамильцы, Задача на Паскале 
:(
    Опции темы
Tolks
Дата 1.6.2009, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 31.5.2009

Репутация: нет
Всего: нет



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

Решите пожалуйсто, очень надо... Завтра сдача, друг попросил, а я не знаю как сделать это...
Код

const
  n = 50;
var
mas: array [1...n] of string [15];
f:text;
i:integer;
n:integer;
name:string[15];
fam:string[15]; 
group:string[15];
begin
writeln('Поиск однофамильцев');
Assign(f,'g:\normal.txt'); 
reset(f);
begin
while not EOF(f) do
      begin
               readln(f,name);
               readln(f,fam);
               readln(f,group);

Дальше не идёт... вообще не знаю что делать...

Это сообщение отредактировал(а) Tolks - 1.6.2009, 20:27
PM MAIL   Вверх
volvo877
Дата 1.6.2009, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 34
Всего: 116



Для домашних заданий, курсовых, существует "Центр Помощи"

Тема перенесена! 
PM MAIL   Вверх
neic
Дата 2.6.2009, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



Замени на это...
Код

mas: array [1...n,2] of string;


и там где ты остановился:
Код

FOR I:=1 TO n DO
BEGIN
       IF mas[I,1] = '' THEN 
       BEGIN
             mas[I,1]:= fam;
             mas[I,2]:= 1;
             I:=n; {выходим из цикла}
       END;

       IF mas[I,1] = fam THEN mas[I,2]:=mas[I,2]+1;
END;
{выходим из чтения файла (достигнули конец файла}
writeln;
writeln('Однофамильцы');

FOR I:=1 TO n DO
BEGIN
       IF mas[I,2] >= 2 THEN writeln(mas[I,1]);
END;


НУ вот что-то похожее.
Тока тут нужно посмотреть даст ли паскаль заносить цифры в массив этот и сравнивать.

Если не даст, то можно сделать 2 массива (одномерных) в одном массиве слово, а в другом параллельно кол-во совпадение например.

Код

MAS[1]:='Иванов' {фамилия}
MAS2[1]:=1 {кол-во совпадений фамилии Иванов}

MAS[1]:='Петров' {фамилия}
MAS2[1]:=2 {кол-во совпадений фамилии Петров}


Ну и тогда объявления будут такими:
Код

MAS: array [1...n] of string;
MAS2: array [1...n] of integer;


Это сообщение отредактировал(а) neic - 2.6.2009, 00:42
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1137 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.