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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2009, 15:15   #1
kenostat
Новичок
Джуниор
 
Аватар для kenostat
 
Регистрация: 01.02.2009
Сообщений: 2
Счастье Прога для лотереи (массивы)

короче есть массив (текстовый, или excel-овский документ - архив тиражов лотереи КЕНО) 20 столбцов на 3000 строк.
В каждой строке отображается 20 шаров (из 80-ти) которые выпали в тираже.

Надо что бы прога вычислила какой максимальный "разрыв"(количиство тиражов подряд) был у опредилённого шарика во всём масиве. и такой результат вывела по всем остальным шарам и записала его в текстовый файл, ну или на крайняк пусть хоть в окне отобразит.
kenostat вне форума Ответить с цитированием
Старый 02.02.2009, 15:44   #2
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

А в каком виде будет находится инфа о шарах? просто в txt файле строка чисел?
Викдон вне форума Ответить с цитированием
Старый 02.02.2009, 18:36   #3
kenostat
Новичок
Джуниор
 
Аватар для kenostat
 
Регистрация: 01.02.2009
Сообщений: 2
По умолчанию

дa. тyпо тpи тыщи стpok пo двaдцaть чиceл в стpoke чepeз пpoбeл.
kenostat вне форума Ответить с цитированием
Старый 03.02.2009, 16:44   #4
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

Код:
Const CountStr =3000;
type Tiraj =  array[1..20] of integer;  {Строка Файла}

var Mas:array[1..CountStr] of ^Tiraj;  {Элемент массива- указатель на одну строку}
    f:text; {Текстовый файл Лотереи}
    f_result:text; {Текстовый файл содержащий результат}
    adres:string;
    shar,i,j,n,n2:integer; {Shar-Номер лотерейного шара
                            n и n2-счетчики разрыва}
    Mas_Shars:array[1..30] of integer; {Массив хранящий разрывы шаров}


{==============Функция проверки наличия данного шара в тираже================}
Function Check(Num_Shara,Num_Tiraj:integer):boolean;
var k:integer;
 begin
   for k:=1 to 20 do
    if Mas[Num_Tiraj]^[k]=Num_Shara then
     begin
      Check:=true;
      exit;
     end;
   Check:=false;

 end;
{============================================================================}



begin
{$I-}

{Проверка существования файла}
 write('Введите имя Файла: ');
 readln(adres);
 assign(f,adres);
 reset(f);
  if IoResult<>0 then
   begin
    writeln('File not Found');
    readln;
    exit;
   end;
 {$I+}



{ Читаем файл и заносим числа в массив указателей}
  i:=1;
  while not EOF(f) do       {Заносим в массив числа из файла}
   begin
     new(Mas[i]);
     for j:=1 to 20 do
      begin
         read(f,shar); {Читаем число из файла}
         Mas[i]^[j]:=shar;    {вместо 1 бегаем от 1 до 20}
      end; {for}
     readln(f); {Переходим на следующую строку}
     inc(i);
   end; {Eof}



{В исходном файле используется 30 шаров}
  n2:=0;
  for i:=1 to 30 do  {Бегаем по шарам}
   begin
    n:=0; {Это основной счетчик}

     for j:=1 to CountStr do  {Бегаем по строкам(тиражам)}

        if Check(i,j)=false then  {Если в тираже нет шара, начинаем считать разрыв}
          begin
             inc(n2);
                for j:=j+1 to CountStr do  {Бегаем от след строки после j}
                   if Check(i,j)=false then
                     inc(n2)
                   else
                     break;
               if n2>n then
                 n:=n2; {n-основной счетчик, n2-промежуточный}
               n2:=0; {Обнуляем промежуточный счетчик}
          end;
     Mas_Shars[i]:=n; {Присваиваем значения разрывов каждому шару}

   end; {for i}

 assign(f_result,'C:\result.txt');
  rewrite(f_result);
   for i:=1 to 30 do
     writeln(f_result,'Shar # ',i,'  Imeet razriv: ',Mas_Shars[i],' tirajei');

  close(f);   {Закрываем файлы}
  close(f_result);

end.
Викдон вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прога для студентов rpy3uH Софт 10 11.05.2010 22:56
прога для тестирования veyder21 Общие вопросы .NET 5 28.12.2008 15:21
Прога для школы??? Sanek777 Фриланс 6 04.11.2008 19:56
Прога для подсчета tag Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 06.06.2007 12:40