Napisati program koji za dati unešeni niz cijelih brojeva X, dužine N, treba da odredi najveću dužinu podniza uzastopnih brojeva koji su parni. Treba štampati dužinu tog podniza i sam podniz.
Evo code-a:
Code:
#include <stdio.h>
#include <stdlib.h>
#define max 50
int main()
{
int i,j=0,ind1=0,N,X[max],Pom[max],maximum,ind2=0;
printf("Unesi duzinu niza: ");
scanf("%d",&N);
if(N>max){
printf("Broj elemenata ne smije biti veci od 50!");
exit(1);
}
printf("Unesi elemente niza: ");
for(i=0;i<N;i++){
scanf("%d",&X[i]);
}
for(i=0;i<N;i++){ /* Nalazi pozicije neparnih elemenata */
if(((X[i])%2)!=0){
Pom[j]=i;
j++;
ind1++;
}
}
maximum=Pom[0]; /* Nalazi duzina podniza */
for(i=1;i<ind1;i++){
if(Pom[i]-Pom[i-1]-1>maximum){
maximum=Pom[i]-Pom[i-1]-1;
}
}
for(i=Pom[ind1-1];i<N;i++){
ind2++;
}
if(ind2<=maximum){
printf("Najduzi podniz uzastopnih brojeva koji su parni ima duzinu %d\n",maximum);
}
else
printf("Najduzi podniz uzastopnih brojeva koji su parni ima duzinu %d\n",ind2-1);
}
#include <stdio.h>
#include <stdlib.h>
#define max 50
int main()
{
int i,j=0,ind1=0,N,X[max],Pom[max],maximum,ind2=0;
printf("Unesi duzinu niza: ");
scanf("%d",&N);
if(N>max){
printf("Broj elemenata ne smije biti veci od 50!");
exit(1);
}
printf("Unesi elemente niza: ");
for(i=0;i<N;i++){
scanf("%d",&X[i]);
}
for(i=0;i<N;i++){ /* Nalazi pozicije neparnih elemenata */
if(((X[i])%2)!=0){
Pom[j]=i;
j++;
ind1++;
}
}
maximum=Pom[0]; /* Nalazi duzina podniza */
for(i=1;i<ind1;i++){
if(Pom[i]-Pom[i-1]-1>maximum){
maximum=Pom[i]-Pom[i-1]-1;
}
}
for(i=Pom[ind1-1];i<N;i++){
ind2++;
}
if(ind2<=maximum){
printf("Najduzi podniz uzastopnih brojeva koji su parni ima duzinu %d\n",maximum);
}
else
printf("Najduzi podniz uzastopnih brojeva koji su parni ima duzinu %d\n",ind2-1);
}
Code sam testirao i funkcionise.
Pitanje je kako da ga modifikujem da mi stampa i podniz? Svaka pomoc je dobrodosla.
Pozdrav