Ir para conteúdo
Fórum Script Brasil
  • 0

imprimindo num documento de texto


Rafa-SP

Pergunta

Salve, galera! O programa a seguir aceita uma quantidade de numeros e faz somas com eles, de 5 em 5. E só mostra as combinaçoes cuja soma seja igual a X (escolhido pelo usuario). Agora preciso que esse programa imprima todas as combinaçoes num documento de texto, num bloco de notas.Estou tentando colocar comandos que façam isso, mas não está funcionando...

alguém poderia me ajudar?

Desde já obrigado.

#include <stdio.h>
int main(){
    int n,i,i1,i2,i3,i4,i5,soma,X;
    int m[30];
    printf("Informe a soma X:");
    scanf("%d",&X);
    printf("Informe a quantidade de numeros que serao digitados: ");
    do{
        scanf("%d",&n);
        if (n<=5) {
            printf("Informe um valor maior que 5: ");
        }
    }while(n<=5);
    for (i=0;i<n;i++){
        printf("Digite o %do. numero: ",i+1);
        scanf("%d",&m[i]);
    }
    for (i1=0;i1<n-4;i1++){
        for (i2=i1+1;i2<n-3;i2++){
            for (i3=i2+1;i3<n-2;i3++){
                for (i4=i3+1;i4<n-1;i4++){
                    for (i5=i4+1;i5<n;i5++){
                        soma = m[i1] + m[i2] + m[i3] + m[i4] + m[i5];
                        if (soma == X) {
                            printf("%d + %d + %d + %d + %d = %d\n",m[i1],m[i2],m[i3],m[i4],m[i5],X);
                        }
                    }
                }
            }
        }
    }
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olha esta linha do codigo

printf("%d + %d + %d + %d + %d = %d\n",m[i1],m[i2],m[i3],m[i4],m[i5],X);

com arquivos temos a seguinte sintaxe:

FILE* meuArquivo;

meuArquvo=fopen(nome do arquivo,metodo de abertura);

fprintf(meuArquivo,formatacao da linha,variaveis);

fclose(meuArquivo);

no seu caso :

FILE* resposta;

resposta=fopen("RESPOSTAS DA COMBIANCAO","w");/* w de write , abertura para escrita*/

/*Geralmente coloca-se um if para testar se o programa abriu realmente o arquivo*/

if(!resposta) exit (1);/*resposta tem uma referencia para o arquivo ou não o ponteiro para NULL, neste ultimo caso abortasse*/

fprintf(resposta,"%d + %d + %d + %d + %d = %d\n",m[i1],m[i2],m[i3],m[i4],m[i5],X);

fclose(resposta);

MAS VOCE DEVE LER O PROTOTIPO DE CADA FUNCAO :

-um exemplo é o fopen que retorna uma referencia para um arquivo ou um ponteiro para NULL em caso de falha

-existem 'varios' metodos de escrita fwrite e fprintf , e dois metodos de leitura fscanf ,fread e fgets voce se adapta a um e usa para sempre mas deve saber como usar os outros

-em c funcoes de leituras de arquivos tem prototipo definido na stdio.h, porem em c++ comunicacao com terminal e arquvos estao em bibliotecas distintas.

há ainda tecnicas de BOA PROGRAMACAO usando arquivos que valem a ena da uma olhada, dependendo do nivel de programacao que voce alcance essas tecnicas são essenciais

Abracos.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...