Hello, I did the program and it’s working perfectly, see if it fits you:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//Declara o vetor de char com todos os seus números
char s[]="7316717653133062499998225119674426574742355349194934";
char sequencia[5];//vetor usado para manipular a sequencia de 5 numeros
//Declara outras variaveis
int i;
int j;
int n1,n2,n3,n4,n5;
int tamanho_string=sizeof(s);//capitura a quantidade de numero existentes
int multiplicado=0;
int multiplicado_max=0;
//inicia o codigo
printf("\n\tTodas sequencias testadas:\n\n");
for(i=0;i<(tamanho_string-5);i++)
{
// convertendo os char para inteiro utilizando a tabela ASCII
// Basta diminuir o valor do caracter ascii referente ao numero
// por 48 e o resultado é o próprio numero em formato int.
n1=s[i+0]-48;
n2=s[i+1]-48;
n3=s[i+2]-48;
n4=s[i+3]-48;
n5=s[i+4]-48;
multiplicado=n1*n2*n3*n4*n5;
//Da um print de cada sequencia e do resultado de sua multiplicação
printf("\t%d X %d X %d X %d X %d = %d\n",n1,n2,n3,n4,n5,multiplicado);
//testa se achou uma sequencia de produto maior
if(multiplicado>multiplicado_max)
{
multiplicado_max=multiplicado;//recebe o novo produto maximo
for(j=0;j<5;j++)
{
sequencia[j]=s[i+j];//copia a sequencia de 5 numeros de maior produto
}
j=0;
}
}
//Exibe o resultado
printf("\n\tMaior Produto Sao dos Numeros:\n\n\t");
for(j=0;j<5;j++)
{
printf("%c ",sequencia[j]);
}
printf(" = %d\n\n\t",multiplicado_max);
system("PAUSE");
}
I hope that’s it, any questions, just get in touch here on this very forum!
Thanks!
you can start by studying the functions to treat strings in C language, have you tried this? gives a look at the function
strstr
.– Ricardo Pontual
I have this article here http://www.br-c.org/doku.php?id=strstr, only which type will I get 5 values so strstr accepts the 5 separated by comma ? why it has to be pointer the result that we seek ?
– Luis Souza