1
The following code tells us to place a sequence of numbers in the following matrix and then assign a value to X and find out if the value of X is equal to some matrix value. But it is returning me as shown in "Output" below. How to resolve??
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(){
setlocale(LC_ALL, "");
int matriz[5][5], i, j;
for(i = 1; i <= 5; i++){
for(j = 1; j <= 5; j++){
printf("Matriz[%d][%d]: ", i, j);
scanf("%d", &matriz[i][j]);
}
}
int X;
printf("\n\nAgora vamos ler um valor X: ");
scanf("%d", &X);
for(i = 1; i <= 5; i++){
for(j = 1; j <= 5; j++){
if(X == matriz[i][j]){
printf("\nEstá na linha: %d coluna: %d", i, j);
}else{
printf("\nNão Encontrado!! :(");
}
}
}
return 0;
}
Input
Matriz[1][1]: 1
Matriz[1][2]: 2
Matriz[1][3]: 3
Matriz[1][4]: 4
Matriz[1][5]: 5
Matriz[2][1]: 6
Matriz[2][2]: 7
Matriz[2][3]: 8
Matriz[2][4]: 9
Matriz[2][5]: 10
Matriz[3][1]: 11
Matriz[3][2]: 12
Matriz[3][3]: 13
Matriz[3][4]: 14
Matriz[3][5]: 15
Matriz[4][1]: 16
Matriz[4][2]: 17
Matriz[4][3]: 18
Matriz[4][4]: 19
Matriz[4][5]: 20
Matriz[5][1]: 21
Matriz[5][2]: 22
Matriz[5][3]: 23
Matriz[5][4]: 24
Matriz[5][5]: 25
Agora vamos ler um valor X: 16
Output
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Está na linha: 4 coluna: 1
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
Não Encontrado!! :(
I wish the output did not print these various "Undetected!! :("
I did not understand the question. Explain how you would like to leave the exit?
– Augusto Vasques
@Augustovasques Not printing these various "Not found", was to print this phrase only if the value of X is different from some value in the Matrix[i][j], but it is not what is happening there
– Pedro Carmona
C arrays are indexed to zero: the first element is at index zero, the second at index 1, and so on. Then access
[5]
is already wrong. The problem is that the language does not "complain", and depending on the compiler/environment may even "work", but it will be by "luck"/coincidence. That being said, the answer below gives a hint of how to do (save a variable with the search result and only print after thefor
- but with the detail that she did not alert to the problem of indexes)– hkotsubo
This answers your question? Why the break is not working? - although the title has nothing to do, read the answers you have there, which shows how to do what you want
– hkotsubo