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

Imprimir vetor com M elementos por linha


luisg5

Pergunta

Pessoal, estou tentando criar uma função em C que imprima um vetor com M elementos por linha, ou seja, se eu digitar por exemplo 5, deve ser exibido na tela 5 vetores por linha. Mas não estou sabendo como fazer isso, alguém me ajuda?

Segue o código:

#include<stdio.h>
#include<time.h>
#define tam 100

void atribuir_valor(int t, int vet[], int N)
{
    srand(time(0));
    int i;
    for(i=0; i<t; i++)
        vet = rand() % N + 1;
}

void exibe_vetor(int t, int vet[], int M)
{
    int i;
    for(i=0; i<t; i++)
        printf("Vet[%d] = %d\t", i, vet);
}

int main()
{
    int v[tam], n, m;
    printf("Informe o limite N:\n");
    scanf("%d", &n);
    atribuir_valor(tam, v, n);
    printf("Informe a quantidade de elementos por linha \'M\'\n");
    scanf("%d", &m);
    printf("O vetor e: \n");
    exibe_vetor(tam, v, m);
}

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá,

Vamos ver se a lógica é essa:

  • Solicita número limite para a aleatoriedade N;
  • Solicita quantos elementos por linha será impresso M;
  • Imprime o vetor;
    • Se a quantidade de elementos for divisível por M pule uma linha;

Me corrija se estiver errado por favor. Abaixo o código:

 


#include <stdio.h>
#include <stdlib.h> /*Biblioteca do srand() e rand(), não as esqueça :) */
#include <time.h>
#define TAM 100 /*Por convencao usar constante com letras maiusculas*/

void atribuir_valor(int vet[], int N){ /*TAM e' uma constante global, ou seja, não se faz necessario passar como argumento pois já foi
										definida no começo do programa*/

    int i;
    srand(time(0));

    for(i = 0; i < TAM; i++)
        vet[i] = rand() % N + 1; /*Apesar de não passar o tamanho do vetor como argumento para a funcao, dentro da funcao
                                    e' necessario informar a posicao de cada elemento*/
}

void exibe_vetor(int vet[], int M){ /*TAM e' uma constante global, ou seja, não se faz necessario passar como argumento*/

    int i;

    for(i = 0; i < TAM; i++){
        printf("Vet[%d] = %d\t", i + 1, vet[i]);

        if(!((i + 1) % M)) /*Condicao para pular linha*/
            printf("\n");
    }
}

int main(){

    int v[TAM], n, m;

    printf("Informe o limite N:\n");
    scanf("%d", &n);

    atribuir_valor(v, n);

    printf("Informe a quantidade de elementos por linha \'M\'\n");
    scanf("%d", &m); /*Vamos assumir que o usuario não digitara numero negativo*/
    printf("O vetor e: \n");
    exibe_vetor(v, m);

return 0;
}

 

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...