Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 157 additions & 0 deletions TDA.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
/*

*/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include <stdbool.h>
#include <limits.h>

#define N 100

int vector[N];
int vector_frecuencias[N][2];
int num_diferentes = 0;

void inicializa_vector_frencuencias() {
for (int i = 0; i < N; i++) {
vector_frecuencias[i][0] = 0;
vector_frecuencias[i][1] = 0;
}
}

void calculo_frecuencias() {
int existe = false;
int j;
inicializa_vector_frencuencias();
for (int i = 0; i < N; i++) {
for (j = 0; j < num_diferentes; j++) {
if (vector_frecuencias[j][0] == vector[i]) {
existe = true;
break;
}
}
if (existe) {
vector_frecuencias[j][1]++;
existe = false;
}
else {
vector_frecuencias[j][0] = vector[i];
vector_frecuencias[j][1]++;
num_diferentes++;
}
}
}

int frecuencia_modal() {
int fModal = INT_MIN;
for (int i = 0; i < num_diferentes; i++) {
if (vector_frecuencias[i][1] > fModal) {
fModal = vector_frecuencias[i][1];
}
}
return fModal;
}

void moda() {
calculo_frecuencias();
int fModal = frecuencia_modal();
printf("Modas:\n");
for (int i = 0; i < num_diferentes; i++) {
if (vector_frecuencias[i][1] == fModal) {
printf("%d \t %d\n", vector_frecuencias[i][0], vector_frecuencias[i][1]);
}
}
}

void imprime_frecuencias() {
printf("Frecuencias\n");
for (int i = 0; i < num_diferentes; i++) {
printf("%d \t %d\n", vector_frecuencias[i][0], vector_frecuencias[i][1]);
}
}

void llenar_vector() {
char NombreArchivo[100];
FILE *Archivo;
Archivo = fopen("prueba.txt","wt");
for (int i = 0; i < N; i++) {
fscanf(Archivo,"%i",&vector[i]);
//vector[i] = rand() % 10;
}

fclose(Archivo);

}

void imprime_vector() {
for (int i = 0; i < N; i++) {
printf("%d - %d \n",i+1, vector[i]);
}
}

float media_aritmetica() {
float suma = 0;
for (int i = 0; i < N; i++) {
suma += vector[i];
//suma = suma+vector[i];
}
return suma / N;
}

void burbuja() {
for (int i = 0; i < N - 1; i++) {
for (int j = i + 1; j < N; j++) {
if (vector[i] > vector[j]) {
int aux = vector[i];
vector[i] = vector[j];
vector[j] = aux;
}
}
}
}

//0 1 2 3 4 5 6 7 8 9
//mediana = (vector[4]+vector[5])/2
// División entera: 1/2 = 0
float mediana() {
int pos = N / 2;
float m = 0.0;
if (N % 2 == 0) {
m = (float)(vector[pos - 1] + vector[pos]) / 2.0;
}
else {
m = vector[pos - 1];
}
return m;
}

float varianza() {
float media = media_aritmetica();
float var = 0;
for (int i = 0; i < N; i++) {
var += pow(vector[i] - media, 2);
}
var /= N;
return var;
}

float desviacionEstandar() {
return sqrt(varianza());
}

int main() {
llenar_vector();
imprime_vector();

printf("\n El valor de la media aritmetica es: %f\n \n ", media_aritmetica());
//printf("\n El valor de la moda es: %i\n ", moda());
moda();
imprime_frecuencias();
printf("\n\n El valor de la mediana es: %f\n ", mediana());
printf("\n El valor de la varianza es: %f\n ", varianza());
printf("\n El valor de la Desviacion estandar es: %f\n ", desviacionEstandar());

return 0;
}
12 changes: 12 additions & 0 deletions estadistica.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
void inicializa_vector_frencuencias()
void calculo_frecuencias()
int frecuencia_modal()
void moda()
void imprime_frecuencias()
void llenar_vector()
void imprime_vector()
float media_aritmetica()
void burbuja()
float mediana()
float varianza()
float desviacionEstandar()
158 changes: 158 additions & 0 deletions main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
/*

*/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include <stdbool.h>
#include <limits.h>
#include "estadistica.h"

#define N 100

int vector[N];
int vector_frecuencias[N][2];
int num_diferentes = 0;

void inicializa_vector_frencuencias() {
for (int i = 0; i < N; i++) {
vector_frecuencias[i][0] = 0;
vector_frecuencias[i][1] = 0;
}
}

void calculo_frecuencias() {
int existe = false;
int j;
inicializa_vector_frencuencias();
for (int i = 0; i < N; i++) {
for (j = 0; j < num_diferentes; j++) {
if (vector_frecuencias[j][0] == vector[i]) {
existe = true;
break;
}
}
if (existe) {
vector_frecuencias[j][1]++;
existe = false;
}
else {
vector_frecuencias[j][0] = vector[i];
vector_frecuencias[j][1]++;
num_diferentes++;
}
}
}

int frecuencia_modal() {
int fModal = INT_MIN;
for (int i = 0; i < num_diferentes; i++) {
if (vector_frecuencias[i][1] > fModal) {
fModal = vector_frecuencias[i][1];
}
}
return fModal;
}

void moda() {
calculo_frecuencias();
int fModal = frecuencia_modal();
printf("Modas:\n");
for (int i = 0; i < num_diferentes; i++) {
if (vector_frecuencias[i][1] == fModal) {
printf("%d \t %d\n", vector_frecuencias[i][0], vector_frecuencias[i][1]);
}
}
}

void imprime_frecuencias() {
printf("Frecuencias\n");
for (int i = 0; i < num_diferentes; i++) {
printf("%d \t %d\n", vector_frecuencias[i][0], vector_frecuencias[i][1]);
}
}

void llenar_vector() {
char NombreArchivo[100];
FILE *Archivo;
Archivo = fopen("prueba.txt","wt");
for (int i = 0; i < N; i++) {
fscanf(Archivo,"%i",&vector[i]);
//vector[i] = rand() % 10;
}

fclose(Archivo);

}

void imprime_vector() {
for (int i = 0; i < N; i++) {
printf("%d - %d \n",i+1, vector[i]);
}
}

float media_aritmetica() {
float suma = 0;
for (int i = 0; i < N; i++) {
suma += vector[i];
//suma = suma+vector[i];
}
return suma / N;
}

void burbuja() {
for (int i = 0; i < N - 1; i++) {
for (int j = i + 1; j < N; j++) {
if (vector[i] > vector[j]) {
int aux = vector[i];
vector[i] = vector[j];
vector[j] = aux;
}
}
}
}

//0 1 2 3 4 5 6 7 8 9
//mediana = (vector[4]+vector[5])/2
// División entera: 1/2 = 0
float mediana() {
int pos = N / 2;
float m = 0.0;
if (N % 2 == 0) {
m = (float)(vector[pos - 1] + vector[pos]) / 2.0;
}
else {
m = vector[pos - 1];
}
return m;
}

float varianza() {
float media = media_aritmetica();
float var = 0;
for (int i = 0; i < N; i++) {
var += pow(vector[i] - media, 2);
}
var /= N;
return var;
}

float desviacionEstandar() {
return sqrt(varianza());
}

int main() {
llenar_vector();
imprime_vector();

printf("\n El valor de la media aritmetica es: %f\n \n ", media_aritmetica());
//printf("\n El valor de la moda es: %i\n ", moda());
moda();
imprime_frecuencias();
printf("\n\n El valor de la mediana es: %f\n ", mediana());
printf("\n El valor de la varianza es: %f\n ", varianza());
printf("\n El valor de la Desviacion estandar es: %f\n ", desviacionEstandar());

return 0;
}
Binary file added tda
Binary file not shown.