#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define even(a,b) (((int)a)&0x1)==(((int)b)&0x1)
#define MAX 10
int arr[MAX];
void series(int *parr)
{
int mas[MAX],*pmas,mx=1,cmx=1,begin=0;
for(int i=1;i<MAX;i++)
{
if(even(parr,parr[i-1]))cmx++;
else
if(cmx>mx)
{
pmas=mas;
mx=cmx;
cmx=1;
*pmas=begin;
begin=i;
pmas++;
}
else if(cmx==mx)cmx=1,*pmas=i;
}
for(;pmas>mas; )printf("%d ",*--pmas);
printf("\n");
}
void main()
{
int *parr;
clrscr();
randomize();
parr=arr;
while(parr<arr+MAX)*parr=random(MAX),printf("%d ",*parr++);
printf("\n");
series(arr);
getch();
}
поможите, люди добры, плз, решить задачу по С++
задача: В одномерном целочисленном массиве найти все максимальные по длине серии идущих подряд элементов одиаковой четности. Напечатать номера, с которых начинаются эти серии. Массив можно пройти два раза
всё, решил
Цитата:
Originally posted by durak
всё, решил
всё, решил
А у меня только один проход по массиву делается.
Код:
Кинь тоже свой вариант.