Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

icq: 466410310
По умолчанию

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

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

icq: 466410310
По умолчанию

Код:
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.
Викдон вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прога для студентов rpy3uH Софт 10 11.05.2010 22:56
прога для тестирования veyder21 Общие вопросы .NET 5 28.12.2008 16:21
Прога для школы??? Sanek777 Фриланс 6 04.11.2008 20:56
Прога для подсчета tag Assembler 4 06.06.2007 12:40


17:45.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.