Please help me in doing this problem in C++ without filing

______________________________________________________________________

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define min(a,b)((a)<(b)?(a):(b))
int a[6000];
main()
      {
        file*input=fopen("number.in","r");
        int n,p2,p3,p5,p7;
        a[1]=n=p2=p3=p5=p7=1;
        while (a[n]<2000000000)
         {
         a[1+n]=min4(2*a[p2],3*a[p3],5*a[p5],7*a[p7]);
         if (a[n]==2*a[p2]) p++;
         if (a[n]==3*a[p3]) p++;
         if (a[n]==5*a[p5]) p++;
         if (a[n]==7*a[p7]) p++;
         }
           {
            fscanf(input,"%d",&n);
            if (n==0) break;
            printf("the%d",n);
            if (n%10==1&& n/10% 10!=1)
            printf("st");
            else if(n%10==2&& n/10% 10!=1)
            printf("nd");
            else
            if(n%10==3&& n/10% 10!==1)
            printf("rd");
            else
            printf("th")
            printf("humble number is %d\n",a[n]);
            }
            fclose(input);
            return 0;
	}

What is it that u need help with, what the project is doing, where are u stucked with the project.....sure everybody would like to know that hey

sorry i forgot to mention that the project is that user enters a number and the programme return a humble number
e.g
user enters 3;
the program should return the 3rd humble number

A few things come to my attention:

int n,p2,p3,p5,p7;
a[1]=n=p2=p3=p5=p7=1;

That's awful, what are you doing here?

while (a[n]<2000000000)
{

You never increase n, so it will always write in the same element,
Besides: You declared 'a' as an array of 6000 ints, so there's no room for 2000000000 numbers.

{
fscanf(input,"%d",&n);

What's the bracket for?

And that's just the tip of the iceberg, but before I continue:

Use code tags and indent your code. Then as a clear question about it.

[edit] And about main()

please forget the code what i want to do is that user enters a number from keyboard the program in ouput displays the humble number
Example:
input = 5842
output = the 5842nd humble number is 2000000000

Member Avatar for DigitalPackrat

The first thing that you have to do is find all the prime numbers except 2, 3, 5 and 7 till the number which is input. Then check if the prime numbers is a factor of the number. If it is not its humble.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.