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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2010, 15:07   #1
nes@
Пользователь
 
Регистрация: 31.10.2009
Сообщений: 25
Подмигивание PASCAL

Доброго вам суток дня! У меня такая вот задача: Задано 5 строк. Определить в какой из строк больше символа "d". пжста подскажите
самый умный человек- тот, кто всегда делает то, что нужно...
nes@ вне форума Ответить с цитированием
Старый 20.03.2010, 15:14   #2
ThisIzGame
Форумчанин
 
Регистрация: 31.08.2009
Сообщений: 161
По умолчанию

в чём проблема? простая задача.
ну например, сделайте 5 циклов(если строки разной длины) в каждом проверяйте
Код:
for i:=1 to n do
      if stroka[i]='d' then
          res:=res+1;
потом сравните res с остальными полученными и всё....
ThisIzGame вне форума Ответить с цитированием
Старый 20.03.2010, 15:14   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

как максимум искать знаете?
по подсчитать количество символа d в строчке 1 (если есть массив строк MasStrok : array[1..5] of string; )
можно так:
Код:
  Kol_D := 0;
  for i:= 1 to Length(MasStrok[1]) do
     if MasStrok[1][i] = 'd' then Kol_D := Kol_D + 1;
  WriteLn('В первой строке символ d встречается ', Kol_D,' раз.');
ну прикрутить цикл по массиву строк и найти максимум получаемых Kol_D - сделаете самостоятельно!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.03.2010, 15:20   #4
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Код:
var
  arr: array[1..5] of string;//массив строк
  i, ii, curCount, maxCount, maxNum: integer;
begin
//задаём строки
  arr[1] := 'abcde';
  arr[2] := 'abcded';
  arr[3] := 'abcdedd';
  arr[4] := 'abcdeddd';
  arr[5] := 'abcded';
//
  maxCount := 0;
  maxNum := 0;
  for i := 1 to 5 do//пробегаем по массиву строк
  begin
    curCount := 0;
    for ii := 1 to length(arr[i]) do//пробегаем по строке
      if (arr[i][ii] = 'd') then
        inc(curCount);
    if (curCount > maxCount) then//если в текущей строке символ встречается чаще, чем до этого.
    begin
      maxCount := curCount;
      maxNum := i;
    end;
  end;
  if (maxNum = 0) then
    writeln('V strokah ne vstrechaetsya simvol "d".')
  else
    writeln('Chashe vsego simvol "d"(', maxCount, ' raz) vstre4aetsya v stroke "', arr[maxNum], '".');
    readln;
end.
NikLik вне форума Ответить с цитированием
Старый 20.03.2010, 15:20   #5
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

удалено(10 символов)

Последний раз редактировалось NikLik; 20.03.2010 в 17:29.
NikLik вне форума Ответить с цитированием
Старый 20.03.2010, 15:27   #6
nes@
Пользователь
 
Регистрация: 31.10.2009
Сообщений: 25
По умолчанию

мне нужно сначало создать текстовой файл с 5 строками, а затем чтоб программа считывала из нее данные... и в конце вывела номер строки в этом проблема
самый умный человек- тот, кто всегда делает то, что нужно...
nes@ вне форума Ответить с цитированием
Старый 20.03.2010, 17:50   #7
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Код:
const fileName = 'input.txt';

var
  arr: array of string;
  linesCount, i, ii, curCount, maxCount, maxNum: integer;
  inFile: textFile;
begin
  linesCount := 0;
  assignFile(inFile, fileName);
  reset(inFile);
  while (not EOF(inFile)) do
  begin
    inc(linesCount);
    setLength(arr, linesCount);
    readLn(inFile, arr[linesCount - 1]); //нумерация в дин. массивах начинается с нуля
  end;
  closeFile(inFile);
  maxCount := 0;
  maxNum := 0;
  for i := 0 to linesCount - 1 do
  begin
    curCount := 0;
    for ii := 1 to length(arr[i]) do
      if (arr[i][ii] = 'd') then
        inc(curCount);
    if (curCount > maxCount) then
    begin
      maxCount := curCount;
      maxNum := i;
    end;
  end;
  if (maxNum = 0) then
    writeln('V strokah ne vstrechaetsya simvol "d".')
  else
    writeln('Chashe vsego simvol "d"(', maxCount, ' raz) vstre4aetsya v stroke "', arr[maxNum], '".');
  readln;
end.
NikLik вне форума Ответить с цитированием
Старый 20.03.2010, 17:50   #8
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Код:
const fileName = 'input.txt';

var
  arr: array of string;
  linesCount, i, ii, curCount, maxCount, maxNum: integer;
  inFile: textFile;
begin
  linesCount := 0;
  assignFile(inFile, fileName);
  reset(inFile);
  while (not EOF(inFile)) do
  begin
    inc(linesCount);
    setLength(arr, linesCount);
    readLn(inFile, arr[linesCount - 1]); //нумерация в дин. массивах начинается с нуля
  end;
  closeFile(inFile);
  maxCount := 0;
  maxNum := 0;
  for i := 0 to linesCount - 1 do
  begin
    curCount := 0;
    for ii := 1 to length(arr[i]) do
      if (arr[i][ii] = 'd') then
        inc(curCount);
    if (curCount > maxCount) then
    begin
      maxCount := curCount;
      maxNum := i;
    end;
  end;
  if (maxNum = 0) then
    writeln('V strokah ne vstrechaetsya simvol "d".')
  else
    writeln('Chashe vsego simvol "d"(', maxCount, ' raz) vstre4aetsya v stroke "', arr[maxNum], '".');
  readln;
end.
NikLik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PASCAL (FOR) RUSSTUDENT Помощь студентам 4 25.01.2010 07:48
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
Перевод кода из Pascal в Object Pascal zemskov77 Общие вопросы Delphi 1 03.01.2009 09:37