Sei sulla pagina 1di 16

Cuadrado Magico

#include <stdio.h>

int main()

int CUANTOS;

do

printf("Ingrese tamaño\n");

scanf("%d", &CUANTOS);

while(CUANTOS<=1||CUANTOS%2==0||CUANTOS>15);

int Matriz[CUANTOS][CUANTOS];

int contador=0;

// Variables a utilizar para determinar la posición x e y en la matriz

// almacenar las posiciones y los limites de la matriz

int x=0;

int y=0;

int vx=0;

int vy=0;

// Número de números que hay que contar y limites de la matriz

int limite=CUANTOS*CUANTOS;

int limitex = CUANTOS - 1;

int limitey = CUANTOS - 1;

// Inicializar los valores de la matriz a 0

for( x=0 ; x<CUANTOS ; x++)


{

for( y=0 ; y<CUANTOS ; y++ )

Matriz[x][y] = 0;

// Establecer la posición x e y inicial de la matriz donde almacenar

// el primer numero siendo en la primera fila posición central

x = CUANTOS / 2;

y = 0;

// El primer numero se sitúa en la casilla central de la fila

for(contador=1;contador<=limite;contador++)

Matriz[y][x] = contador;

vx = x;

vy = y;

x++;

if( x > limitex )

x = 0;

y--;

if( y < 0 ) y = limitey;

if (Matriz[y][x]>0)

x = vx ;

y = vy +1 ;

}
}

// imprimir la matriz

printf("\nCUADRADO MAGICO\n");

for( x=0 ; x<CUANTOS ; x++)

for( y=0 ; y<CUANTOS ; y++ )

printf("%3d ",Matriz[x][y]);

printf("\n");

return 0;

Criba de eratostenes

#include<stdio.h>

int main ()

int i,j, n, m, c, s, b;

do

printf("Ingrese el numero de filas ");

scanf("%d", &n);

printf("Ingrese el numero de columnas ");

scanf("%d", &m);

}
while(n<=0 || m<=0 || (n==1&&m==1));

int matriz[n][m];

int v1[10000];

for(i=0; i<10000; i++)

v1[i]=0;

c=0;

s=2;

v1[0]=1;

v1[1]=1;

while(c!=m*n)

if(v1[s]==0)

c++;

for(j=s+1; j<10000; j++)

if(j%s==0)

v1[j]=1;

s++;

}
s=0;

for(i=0; i<n; i++)

for(j=0; j<m; j++)

b=0;

while(b==0)

if(v1[s]==0)

matriz[i][j]=s;

b=1;

s++;

for(i=0; i<n; i++)

for(j=0; j<m; j++)

printf("\t%d", matriz[i][j]);

printf("\n");

getch();
return 0;

Areolina da asientos de primera clase cosas asi XD

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define SIZE_ASIENTOS 10

int asignarAsiento(int [], int, int);

void pasaje(int);

void diagrama(int [], int);

main()

srand(time(NULL));

int asientos[SIZE_ASIENTOS] = {0};

int i, num, cont = 0;

printf("SISTEMA DE RESERVACION DE AEROLINEAS\n\n");

diagrama(asientos, SIZE_ASIENTOS);

while (cont <= SIZE_ASIENTOS - 1)

printf("Por favor ingrese 1 para primera clase\n\n"

"Por favor ingrese 2 para economico\n");

scanf("%d", &num);
while (num > 2)

printf("Numero no valido\n\n");

printf("Por favor dijite 1 para primera clase\n\n"

"Por favor dijite 2 para economico \n\n");

scanf("%d", &num);

if ((asignarAsiento(asientos, SIZE_ASIENTOS, num)) != 0)

cont++;

diagrama(asientos, SIZE_ASIENTOS);

printf("Avion lleno\nProximo vuelo en 3 horas\n");

return 0;

int asignarAsiento(int a[], int size, int n)

char rta[1];

int i, status = 0;

static int cont1 = 0, cont2 = 0;

switch(n){
case 1:

if (cont1 < size / 2){

while (status == 0){

i = rand() % size /2;

if(a[i] == 0){

a[i] = 1;

pasaje(i);

cont1++;

status = 1;

else{

printf("La sección primera clase esta llena. "

"Le gustaria q le asignemos un lugar en la sección "

"economico(s/n)");

scanf("%s", rta);

if(rta[0] == 's' || rta[0] == 'S')

while (status == 0){

i = size / 2 + rand() % size / 2;

if(a[i] == 0)

a[i] = 1;

pasaje(i);
cont2++;

status = 1;

else

printf("\nEl proximo vuelo sale en 3 horas\n\n");

return 0;

break;

case 2:

if (cont2 < size / 2)

while (status == 0)

i = size / 2 + rand() % size / 2;

if (a[i] == 0){

a [i] = 1;

pasaje(i);

cont2++;
status = 1;

else{

printf("La sección economico esta llena. "

"Le gustaria q le asignemos un lugar en la sección "

"economico(s/n)");

scanf("%s", rta);

if(rta[0] == 's' || rta[0] == 'S')

while (status == 0)

i = rand() % size /2;

if(a[i] == 0){

a[i] = 1;

pasaje(i);

cont1++;

status = 1;

else
{

printf("\nEl proximo vuelo sale en 3 horas\n\n");

return 0;

break;

void pasaje(int numAsiento)

printf("\n\n************************\n");

printf("AEROLINEA\n");

printf("Pase de abordaje\n");

if (numAsiento >= 0 && numAsiento <= 4)

printf("Asiento nº %d\n", numAsiento + 1);

printf("Primera Clase\n");

else{

printf("Asiento nº %d\n", numAsiento + 1);

printf("Economico\n");

printf("\n************************\n\n");
}

void diagrama(int a[], int size)

int i;

printf("\n");

printf("%30s\n\n", "DIAGRAMA AVION");

printf("%15s %26s\n", "1 CLASE", "ECONOMICO");

printf("/-------------------\\");

printf(" /-------------------\\\n");

for (i = 0; i <= size - 1; i++)

printf("%-5d", a[i]);

printf("\n\n");

Elemento mayor y menor de una matriz

include <stdlib.h>

#include <stdio.h>

void MayorMenor (int matriz[100][100],int fil, int colum);

int matriz[100][100];

main()

//int matriz[10][10];
int i, fi, colu,j;

int elemento = 0;

printf("Ingresa el valor de la fila ");

scanf("%d",&fi);

printf("Ingresa el columna de la matriz: ");

scanf("%d",&colu);

//ingresar elementos

printf("\n");

for(i=0;i<fi;i++)

for(j=0;j<colu;j++)

printf("Ingesa elemento[%d][%d]: ",i,j);

scanf("%d",&elemento);

matriz[i][j] = elemento;

//presentar elementos

printf("\nMatriz ingresada fue: \n");

for(i=0;i<fi;i++)

for(j=0;j<colu;j++)

{
printf("%d\t",matriz[i][j]);

printf("\n");

//Presentar mayor y menor

MayorMenor(matriz,fi, colu);

return 0;

void MayorMenor (int matriz[100][100],int fil, int colum)

int i ,j ;

int mayor = matriz[0][0];

int menor = matriz[0][0];

int elemento = 0;

for(i=0;i<fil;i++)

for(j=0;j<colum;j++)

elemento = matriz[i][j];

if(elemento>mayor)

mayor=elemento;

}
if(elemento<menor)

menor=elemento;

printf("\nElemnto mayor: %d",mayor);

printf("\nElemnto menor: %d\n\n",menor);

Eliminacion de elementos repetidos

#include <stdio.h>

//Eliminacion de valores repetidos

int main ()

int v_original [10];

int v_aux [10];

int v_final [10];

int cont,num,i,j=0,k,z=0 ;

for (i=0; i<10; i++)

printf("Introduce el valor %d del arreglo: ", i+1);

scanf("%d",&v_original[i]);

}
for (i=0;i<10;i++)

cont=0;

num=v_original[i];

v_aux[j]=num;

j++;

for (k=0;k<10;k++)

if ( v_aux[k] == num )

cont++;

if ( cont == 1 )

v_final[z]=num;

z++;

printf("El arreglo simplificado es: \n");

for (i=0;i<z;i++)

printf ("%d \n",v_final[i]);

return 0;

Potrebbero piacerti anche