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;
}
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Hardware antigo no Arch Linux e outras distribuições
Aprenda a proteger sua rede Wi-Fi!
Deixando o Plasma6 mais fluido no Linux
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Gerar menu automaticamente no luxbox (3)
Isso acontece com vcs também? (8)
Problema com audio apos upgrade (10)