Exercicios vetores/matriz e funçao random

1. Exercicios vetores/matriz e funçao random


Biggycheese

(usa Linux Mint)

Enviado em 27/01/2013 - 22:46h

tenho prova de algoritmos amanha e nao to conseguindo fazer esses 3 exercicios de vetores, nao sei usar a função rand para os exercicios 6 e 8, tambem nao consegui entender o exercicio 7, queria q me explicassem como usar a funçao rand e se possivel o programa fonte do exercicio 6 e 8 e ajuda pra entender o 7, obrigado

6. Codificar um programa que calcule e mostre o somatório dos valores armazenados numa variável
unidimensional A de 100 elementos numéricos. Preencha o vetor A com valores aleatórios entre 1 e 100
inclusive.
Exemplo:
Entrada:
0 1 2 ... 99
17 35 12 ... 72
Saída: 17 + 35 + 12 + ... + 72


7. Qual será a configuração do vetor num depois de executado o trecho de programa abaixo?

int num[5][5], i , j;
for (i=0; i<5; i++){
for (j=0; j<5; j++){
if (i>j){
num[i][j]=1;
}
if (i==j){
num[i][j]=0;
}
if (i<j){
num[i][j]=-1;
}
}
}


8. Codificar um programa para gerar uma matriz N x N de números inteiros aleatórios entre 1 e 10 e mostrar
toda a matriz e a soma dos elementos da diagonal principal.


  


2. Re: Exercicios vetores/matriz e funçao random

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/01/2013 - 00:00h

Em todos os exercícios me parece bem claro o que você tem de fazer. Desculpe, mas o espírito do fórum não é dar respostas prontas, mas ajudar a superar dúvidas específicas.

Uma dica que eu posso lhe dar é a seguinte. Você parece estar se enrolando com coisas simples por estar se prendendo ao aspecto técnico da coisa, e não ao prático. Deixe de lado o computador e a linguagem C e pense pelo menos a questão 6 em termos mais prosaicos: veja, então, que tudo o que ela pede é para produzir a soma de cem valores gerados ao acaso. Na mão, tendo só um papel e uma caneta, tenho certeza de que essa seria uma tarefa mole para você fazer (talvez um pouco trabalhosa, dado que são muitas parcelas, mas no fim das contas, é apenas uma sequência de somas). Se você parar para pensar, e conseguir descrever, em Português mesmo, os passos do que VOCÊ teria feito para executar a tarefa em questão, vai ver que essa descrição vai se parecer muito com um programa. E se estiver mesmo bem descrito, transformar tais passos num programa será literalmente apenas uma questão de traduzir de Português para C.

A mesma coisa vale para a questão 8. A questão 7 é mais ou menos o inverso: você tem o programa pronto e deve interpretar o que ele faz. Pense como se fosse uma mera questão de idioma (aliás, não é a toa que se diz "linguagem" de programação): tente expressar cada passo do programa em Português, e a interpretação será apenas uma questão de encadear os passos. E você ainda terá o benefício de que a estrutura de repetição da questão 8 será bem parecida com a da 7, já quem ambas se percorrem todos os elementos de uma matriz.

Quanto à função rand(), basta que você leia a documentação. A documentação on-line dessa função no Linux é bem razoável, e inclui exemplos.


3. Resposta questão 8

Guilherme Ferreira Schults
Schults

(usa Ubuntu)

Enviado em 15/07/2016 - 11:51h


#include<stdio.h>
#include<stdlib.h>
#include<time.h>



int main (){

int Matriz[3][3], linha, coluna, soma = 0;

printf("Gerando numeros aleatorios para a matriz: \n");
srand(time(NULL));

for (linha = 0; linha < 3; linha++){
for (coluna = 0; coluna < 3; coluna++){
Matriz[linha][coluna] = rand() % 10;
}
}
for (linha = 0; linha < 3; linha++){
for (coluna = 0; coluna < 3; coluna++){
if (linha == coluna){
soma += Matriz[linha][coluna];
}
}
}
for (linha = 0; linha < 3; linha++){
for (coluna = 0; coluna < 3; coluna++){
printf("%5d", Matriz[linha][coluna]);
}
printf("\n");
}

printf("A soma dos elementos da diagonal principal e %d", soma);
return 0;
}






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts