HARD&SOFT > Программирование

Подскажите алгоритм для программы

(1/1)

DimaN:
Дано: есть последовательность чисел например 1,2,3,4,5,6,7,8,9,10,11,12, 101,102,103,201, 202,203,301,302,303,501,502,503,505,601,602 и тд вобщем до 9999
Нужно найти максимальной значение в каждой сотне. Соответственно  в данном примере 12, 103, 203, 303, 505, 602

Serhio:
находим все числа от 0-99
сравниваем между собой
находим максимальное
запоминаем
ищем все числа от 101-199
...
и так до конца

mimicria:
Как-то так:

--- Код: ---int main(int argc, char* argv[])
{
 unsigned int mas[]={1,2,3,4,5,6,7,8,9,10,11,12,101,102,103,201,202,203,301,302,303,501,502,503,505,601,602};
 unsigned int count=sizeof(mas)/sizeof(mas[0]);
 unsigned int max[30]={0,};
 unsigned int temp_max=0;
 unsigned int i=0;
 unsigned int j;
 unsigned int sot;
 for (j=0;j<count;j++)
 {
  sot=(i+1)*100;
  if (mas[j]>sot)
  {
   max[i]=temp_max;
   i++;
   temp_max=mas[j];
  }
  else
  {
   if (mas[j]>temp_max)
    temp_max=mas[j];
  }
 }
 max[i]=temp_max;
 for (j=0;j<30;j++)
  if (max[j]) cout << max[j] << " ";
 cout << endl;
 system("pause");
 return 0;
}
--- Конец кода ---

Пример можно упростить, если числа в массиве действительно будут упорядочены по возрастанию =)

Serhio:

--- Цитата: mimicria от 06 Марта 2014, 11:19:00 ---Как-то так:

--- Код: ---int main(int argc, char* argv[])
{
 unsigned int mas[]={1,2,3,4,5,6,7,8,9,10,11,12,101,102,103,201,202,203,301,302,303,501,502,503,505,601,602};
 unsigned int count=sizeof(mas)/sizeof(mas[0]);
 unsigned int max[30]={0,};
 unsigned int temp_max=0;
 unsigned int i=0;
 unsigned int j;
 unsigned int sot;
 for (j=0;j<count;j++)
 {
  sot=(i+1)*100;
  if (mas[j]>sot)
  {
   max[i]=temp_max;
   i++;
   temp_max=mas[j];
  }
  else
  {
   if (mas[j]>temp_max)
    temp_max=mas[j];
  }
 }
 max[i]=temp_max;
 for (j=0;j<30;j++)
  if (max[j]) cout << max[j] << " ";
 cout << endl;
 system("pause");
 return 0;
}
--- Конец кода ---

Пример можно упростить, если числа в массиве действительно будут упорядочены по возрастанию =)

--- Конец цитаты ---

Это за него все сделали, а не алгоритм дали :)

DimaN:
Мне все равно это на PHP нужно организовать. :)

Навигация

[0] Главная страница сообщений

Перейти к полной версии