Dá pra fazer tudo que foi pedido num único para de for's. E não se precisa usar a variável auxiliar soma, bastando iniciar os vetores com zero e usá-los como acumuladores. Mas como é um estudo preliminar, pra quem ainda está começando, aí tá de bom tamanho.
Eu só tenho uma coisa pra te falar, você é 10 cara, continue ajudando as pessoas, meu professor me passou este exercicio na faculdade, eu não estava conseguindo fazer, pedi explicação ele nem ajudou, você foi melhor que meu professor de algoritmo da faculdade, fiquei ontem o dia inteiro batendo cabeça pra apreender em 17:26
Dessa vez fiz com mais calma e li o enunciado calmamente kkkk. A diferença é que eu iniciei os arrays com 0( = {0} ) em todas posições pra fazer a soma direto neles. Mais uma aula completa, vlw wagner #include #include #include #include int main() { int matriz[5][10], c, x; int vlinha[5] = {0}, vcoluna[10] = {0}; setlocale(LC_ALL, ""); printf("================================================ "); printf("= INICIAR = "); printf("================================================ "); printf(" Pressione "); getchar(); srand(time(NULL)); printf("[Carregando]:"); for(c=0; c < 16; ++c) { printf(".."); Sleep(100); } printf("OK!"); sleep(1); for(c=0; c < 5; ++c) { for(x=0; x < 10; ++x) matriz[c][x] = rand() % 20; } printf("
Matriz:
"); for(c=0; c < 5; ++c) { for(x=0; x < 10; ++x) printf("%5d",matriz[c][x]); printf("
"); } for(c=0; c < 5; ++c) { for(x=0; x < 10; ++x) vlinha[c] += matriz[c][x]; } for(c=0; c < 5; ++c) { for(x=0; x < 10; ++x) vcoluna[x] += matriz[c][x]; } for(c=0; c < 5; ++c) printf("Linha %d: \t%d ", c+1, vlinha[c]); printf(" "); for(c=0; c < 10; ++c) printf("Coluna %d: \t%d ", c+1, vcoluna[c]); return 0; }
Olá prof. Wagner Gaspar td blz ? Primeiramente eu gostaria de agradecer a sua imensa ajuda para formar excelentes programadores. Eu gostaria de saber qual a sua formação, além de T.I, você é professor de matemática tbm ?
Obrigado Pedro. Quanto à sua dúvida, como assim somar o índice 0 + índice 7? Para acessar qualquer posição de uma matriz são necessários dois índices, linha e coluna.
Olá Ghost. Se você deseja somar apenas uma linha então não são necessários dois fors. Basta um para gerar os índices das colunas, assim: int l, c, soma = 0, mat[5][7]; for(c = 0; c < tam; c++){ soma += mat[l][c]; } Perceba que a linha l não sofre variação, ou seja, está fixa. O cuidado que você precisa tomar é garantir que l seja um número válido, ou seja, entre 0 e tam - 1.
Boa noite! poderia responder essa por favor? Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota. Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota. Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota. Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota.
o que me matou nessa questão foi o portugues, eu fiquei na duvida se era pra imprimir o valor da soma de cada linha e de cada coluna ou a soma das linhas e a soma das colunas, mas essa segunda nao fazia tanto sentido ja que seria a mesma coisa de somar todos os numeros da matriz, mas de toda forma: #include #include #include int main (){
Acho que da forma que fiz ficou um pouco mais eficiente que a do professor, salvei a linha no vetor índice i e a coluna no vetor índice j: void exercicio9 (){
int mat[5][10],i=0,j=0,linha[5]={0},coluna[10]={0};
Cê tá louco meu! kkkkkkk
Uma explicação dessas não se ver na faculdade!
Muito obrigado Mestre por essa explicação!
Dá pra fazer tudo que foi pedido num único para de for's. E não se precisa usar a variável auxiliar soma, bastando iniciar os vetores com zero e usá-los como acumuladores. Mas como é um estudo preliminar, pra quem ainda está começando, aí tá de bom tamanho.
Muito boa a explicação
Eu só tenho uma coisa pra te falar, você é 10 cara, continue ajudando as pessoas, meu professor me passou este exercicio na faculdade, eu não estava conseguindo fazer, pedi explicação ele nem ajudou, você foi melhor que meu professor de algoritmo da faculdade, fiquei ontem o dia inteiro batendo cabeça pra apreender em 17:26
Opa...se o plano a não funciona vamos para o Plano B hahaha.
Obrigado. Fico muito feliz em saber que ajudou 😉.
Abraços e bons estudos.
Caraaa, você me salvou numa atividade. Muito obrigado e continue com o excelente trabalho!
Por nada Gessé.
Que bom que ajudou 😀
Dessa vez fiz com mais calma e li o enunciado calmamente kkkk.
A diferença é que eu iniciei os arrays com 0( = {0} ) em todas posições pra fazer a soma direto neles.
Mais uma aula completa, vlw wagner
#include
#include
#include
#include
int main()
{
int matriz[5][10], c, x;
int vlinha[5] = {0}, vcoluna[10] = {0};
setlocale(LC_ALL, "");
printf("================================================
");
printf("= INICIAR =
");
printf("================================================
");
printf("
Pressione
");
getchar();
srand(time(NULL));
printf("[Carregando]:");
for(c=0; c < 16; ++c)
{
printf("..");
Sleep(100);
}
printf("OK!");
sleep(1);
for(c=0; c < 5; ++c)
{
for(x=0; x < 10; ++x)
matriz[c][x] = rand() % 20;
}
printf("
Matriz:
");
for(c=0; c < 5; ++c)
{
for(x=0; x < 10; ++x)
printf("%5d",matriz[c][x]);
printf("
");
}
for(c=0; c < 5; ++c)
{
for(x=0; x < 10; ++x)
vlinha[c] += matriz[c][x];
}
for(c=0; c < 5; ++c)
{
for(x=0; x < 10; ++x)
vcoluna[x] += matriz[c][x];
}
for(c=0; c < 5; ++c)
printf("Linha %d: \t%d
", c+1, vlinha[c]);
printf("
");
for(c=0; c < 10; ++c)
printf("Coluna %d: \t%d
", c+1, vcoluna[c]);
return 0;
}
Ótimo.
Adorei o carregando kkkkkk
@@programeseufuturo kkkk fiz uma gracinha pra dar um charme
Parabéns pela aula, foi muito bem explicado!!!
Obrigado Cristiano.
Abraços.
Olá prof. Wagner Gaspar td blz ? Primeiramente eu gostaria de agradecer a sua imensa ajuda para formar excelentes programadores. Eu gostaria de saber qual a sua formação, além de T.I, você é professor de matemática tbm ?
E se eu precisa-se somar posições diferentes da matriz?
Ex, somar o índice 0 + índice 7, como seria?
Parabens pela aula, me ajudou muito
Obrigado Pedro.
Quanto à sua dúvida, como assim somar o índice 0 + índice 7?
Para acessar qualquer posição de uma matriz são necessários dois índices, linha e coluna.
mas como voce chega a todas essas conclusôes....???????
Boa noite, como eu faria para somar apenas uma linha da matriz?
Olá Ghost.
Se você deseja somar apenas uma linha então não são necessários dois fors. Basta um para gerar os índices das colunas, assim:
int l, c, soma = 0, mat[5][7];
for(c = 0; c < tam; c++){
soma += mat[l][c];
}
Perceba que a linha l não sofre variação, ou seja, está fixa. O cuidado que você precisa tomar é garantir que l seja um número válido, ou seja, entre 0 e tam - 1.
@@programeseufuturo Muito Obrigado pela ajuda !!
Boa noite! poderia responder essa por favor?
Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota.
Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota.
Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota.
Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de um aluno. Escreva um programa que leia essas informações e monte uma tabela onde a primeira coluna é o nome e a segunda coluna é a nota.
Olá Ronald.
Respondi sua dúvida aqui: th-cam.com/video/YhOgucrM4QE/w-d-xo.html
#include
#include
#include
#define linha 5
#define coluna 10
int main(){
int matriz[5][10] = {0}, linha_vetor[linha] = {0}, coluna_vetor[coluna] = {0};
int i,j;
srand(time(NULL));
for(i = 0; i < linha; i++){
for(j = 0 ; j < coluna; j++){
matriz[i][j] = rand() % 100;
printf("%2d ", matriz[i][j]);
}
printf("
");
}
//letra (a)
for(i = 0; i < linha;i++ ){
for(j = 0; j < coluna; j++){
linha_vetor[i] += matriz[i][j];
}
}
// letra (b)
for(j = 0; j < coluna;j++){
for(i = 0; i < linha; i++){
coluna_vetor[j] += matriz[i][j];
}
}
for(i = 0; i < linha; i++)
printf("soma das linhas da matriz no vetor[%d]: %d
",i, linha_vetor[i]);
printf("
");
for(j = 0; j < coluna; j++)
printf("soma das colunas da matriz no vetor[%d]: %d
",j, coluna_vetor[j]);
return 0;
}
o que me matou nessa questão foi o portugues, eu fiquei na duvida se era pra imprimir o valor da soma de cada linha e de cada coluna ou a soma das linhas e a soma das colunas, mas essa segunda nao fazia tanto sentido ja que seria a mesma coisa de somar todos os numeros da matriz, mas de toda forma:
#include
#include
#include
int main (){
int i, j, mat[5][10], somaL=0, somaC=0, vetl[5], vetc[10];
srand(time(NULL));
for(i = 0; i < 5; i++){
for(j = 0; j < 10; j++){
mat[i][j] = rand() % 11;
printf("%2d ", mat[i][j]);
}
printf("
");
}
for(i = 0; i < 5; i++){
somaL=0;
for(j = 0; j < 10; j++){
somaL += mat[i][j];
}
vetl[i] = somaL;
printf("Soma da linha %d: %d
", i, vetl[i]);
}
for(j = 0; j < 10; j++){
somaC=0;
for(i = 0; i < 5; i++){
somaC += mat[i][j];
}
vetc[j] = somaC;
printf("Soma da coluna %d: %d
", j, vetc[j]);
}
Acho que da forma que fiz ficou um pouco mais eficiente que a do professor, salvei a linha no vetor índice i e a coluna no vetor índice j:
void exercicio9 (){
int mat[5][10],i=0,j=0,linha[5]={0},coluna[10]={0};
srand(time(NULL));
for(i=0;i
Mude a fonte pois não está visível
Obrigado Joaquim.