
Segment woes
Code:
//TJ Wright 11 3
#include <stdio.h>
int main ()
{
int m, count=0,n[30];
printf("Enter the numbers, one per line");
for(m=1;m<=20;m++)
{
scanf("%d",&n[m]);/* input up to 20 integers, one per line, the sentinel is 0
each of the numbers will be less than 2^30.*/
count++;
if(n[m]==0)break;
}
for (m=1;m<=count;m++)
{
/*
if statements asking if there is a number n such that all the integers
are in the segment [n, n+32767]. If there is such a number, print the largest
such n. If there is not, determine if there is a number n such that
all but 1 of the integers is in the segment [n,n+32767]. If there is such
a number, print the largest such. If there is no such, determine if there is
such an n so that all but two of the intervals are in the interval and print
the largest such. Continue this way until n is found.*/
}
return 0;
}

arrays are zero based (indexes start at 0 not 1)
for 20 numbers you need array of 20 elements, not 30
What is your problem here?
You can start for example (if you don't know how to solve the problem) with determining the min and max of all numbers... Then check the differense. If differense is less than 32767  min number is your n
(You may want to sort array  so the min and max will be first and last element)
You may want to use long instead of int  to make your program portable...
