Enviado em 24/11/2015 - 20:43h
Senhores, sou iniciante em programação e estou com um problema de Falha de Segmentação. O maior problema é que eu não faço a mínima ideia do que causa isso, então não posso evitar.#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TAM 100
typedef struct{
int vet[TAM];
int n;
}tVetInt;
typedef struct{
int mat[100][100];
int nLin;
int nCol;
}tMatInt;
typedef struct{
int pagamento;
int numeroLinhas;
int numeroColunas;
}tDados;
typedef struct{
int cartela[TAM];
int sorteio[TAM];
int n;
}tSementes;
typedef struct{
char nome[31][TAM];
int idade[TAM];
int rg[TAM];
int cpf[TAM];
int n;
int pagamentoParticipante;
int premiacaoParticipante[TAM];
tMatInt cartela[TAM];
}tDadosCandidato;
tDadosCandidato lerCandidato () {
tDadosCandidato d;
int i;
printf ("Nome: ");
scanf (" %[^\n]", d.nome[0]);;
printf ("Idade, RG, CPF: ");
scanf ("%d %d %d", &d.idade[0], &d.rg[0], &d.cpf[0]);
d.n=1;
i=1;
while (d.idade[i-1] !=0){
printf ("Nome: ");
scanf (" %[^\n]", d.nome[i]);
printf ("Idade, RG, CPF: ");
scanf ("%d %d %d", &d.idade[i], &d.rg[i], &d.cpf[i]);
i++;
d.n++;
}
d.n=d.n-1;
return d;
}
tSementes lerSementes (){
int i;
tSementes s;
printf ("Semente da cartela e do sorteio: ");
scanf ("%d %d", &s.cartela[0], &s.sorteio [0]);
s.n=1;
i=1;
while (s.cartela[i-1] !=0){
printf ("Semente da cartela e do sorteio: ");
scanf ("%d %d", &s.cartela[i], &s.sorteio [i]);
i++;
s.n++;
}
s.n=s.n-1;
return s;
}
int checarMatrizIncompleta (int numero, int linhaAtual, int colunaAtual, int p, tDadosCandidato d, tDados t){
int i,
j;
for (i=0; i<linhaAtual+1; i++){
for (j=0; j<t.numeroColunas; j++){
if (d.cartela[p].mat[i][j] == numero){
return 1;
}
}
}
return 0;
}
tDadosCandidato criarCartela (tDadosCandidato d, int seed, tDados t){
int i,
j,
p;
srand (seed);
for (p=0; p<d.n; p++){
for (i=0; i<t.numeroLinhas; i++){
j=0;
while (j<t.numeroColunas){
d.cartela[p].mat[i][j] = (rand()%((t.numeroLinhas*t.numeroColunas) +10) +1);
if (!checarMatrizIncompleta (d.cartela[p].mat[i][j], i, j, p, d, t)){
j++;
}
}
}
}
return d;
}
int main (){
int sementeCartela;
tDadosCandidato d;
tSementes s;
tDados t;
d = lerCandidato ();
printf ("Pagamento, linhas e colunas: ");
scanf ("%d %d %d", &t.pagamento, &t.numeroLinhas, &t.numeroColunas);
s = lerSementes ();
d = criarCartela (d, s.cartela[0], t);
return 0;
}
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Problemas na Atualização do Ubuntu 20.04 para 22.04 (2)
Primeira vez utilizando Linux Ubuntu 22.04 e já tenho problemas… (7)