Ejercicios de Lenguaje C, Arreglos

Ya saben que el lenguaje c es un poco complicado al principio, pero agarrando practica hasta el menos habil alcanza buenos resultados en el area de la programacion. Aqui les dejo unos cuantos ejercicios que he hecho a lo largo de este semestre en la preparatoria; espero les sirva como guia.

Con arreglos
//Programa para comprar boletos de autobus, este marca los asientos ocupados con un "1" y los desocupados con "0", si un asiento ya se ha vendido, el programa lo señalara, tambien respetando limites en los mismos.


#include <stdio.h>
#include <conio.h>
main()
{
int asiento[40]={0};
int x, y;
printf("Los estados de los asientos son: LIBRE=0, VENDIDO=1.n" );
do
{
printf("nCual asiento quieres comprar?: " );
scanf("%d",&y);
if(y==0)break;
else if(y<=0 || y>=41)
printf("nAsiento fuera del rango del autobus." );
else if(asiento[y-1]==1)
printf("nAsiento ya vendido" );
else
{
asiento[y-1]=1;
{
for(x=0; x<40; x++)
{
if(!(x%4))
printf("ntAsiento %d= %d",x+1,asiento[x] );
else printf("tAsiento %d= %d",x+1,asiento[x] );
}
}
}
}
while(1);
if(asiento[40]==1)
printf(" Todos los asientos se han vendido." );
else printf("nGracias por usar este programa." );
getch();
return 0;
}

----------------------------------------------------------------------------------------------------------------------------------------------------------

con arreglos

/* Ordenar n números a traves de un arreglo */


#include <stdio.h>
#include <conio.h>
main()
{
int numeros[100];
int x, y, z;
int kano;
printf(" Numeros a ordenar?: " );
scanf("%d", &x);
for(y=0; y<=x-1; y++)
{
printf(" Introduce el numero %d: ", y);
scanf("%d", &numeros[y] );
printf("n" );
}
for(y=0; y<(x-1); y++)
{
for(z=y+1; z<x; z++)
{
if(numeros[z]<numeros[y])
{
kano=numeros[z];
numeros[z]=numeros[y];
numeros[y]=kano;
}
}
}
printf(" El numerico en forma ascendente es: n" );
for(y=0; y<=x-1; y++)
{
printf(" %d ", numeros[y]);
}
printf("nn" );
printf("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*nDesarrollado por Daniel Soto Vergara. n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*" );
getch();
return 0;
}

--------------------------------------------------------------------------------------------------------------------------------------------------------
Con arreglos
//Promediar n numeros.


#include <stdio.h>
#include <conio.h>
main()
{
float arreglo[100], suma=0;
int x, n;
printf("Numeros a promediar: " );
scanf("%d", &n);
for(x=0; x<n; x++)
{
printf("Introduce valor %d: ", x+1);
scanf("%f",&arreglo[x]);
suma+=arreglo[x];
}
printf("El promedio es %.2f ", suma/n );
printf("nPrograma creado y desarrollado por Daniel Soto Vergara." );
printf("nGracias por su preferencia." );
return 0;
}

---------------------------------------------------------------------------------------------------------------------------------------------------------
Sin arreglos
/* Tabla de temperatura de °C y °F desde -30° hasta 40 °C (de 5 en 5) */


#include <stdio.h>
#include <conio.h>
main()
{
int c, f;
clrscr();
printf("n Escala de temperatura" );
printf("n °Celsius °Farenheit" );
for(c=-30; c<=40; c=c+5)
{
f=(1.8*c)+32;
printf("nn%d tt%d", c, f);
}
printf("nnnnDesarrollado por Daniel Agner Soto Vergara." );
getch();
return 0;
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Sin arreglos
/* Programa para hacer un triángulo entre 2 y 15 asteriscos */


#include <stdio.h>
#include <conio.h>
main()
{
printf(" Programa para hacer un triangulo con asteriscos. " );
int a, b, c;
clrscr();
printf(" Cantidad de renglones en el triangulo: " );
scanf("%d", &a);
if(a>15)
printf(" Numero fuera de rango. nn *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*" );
else
for(b=1; b<=a; b++)
{
for(c=1; c<=b; c++)
printf(" * " );
printf("nn" );
}
printf("n Espero que te haya sido util este programa... " );
printf("n Desarrollado por Daniel Agner Soto Vergara." );
getch();
return 0;
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------

// Arreglo (matrices; unidimensional)
[/b]

#include <stdio.h>
#include <conio.h>

main(){
int arreglo[4]; //Areglo unidimensional de tamaño 4.
printf("ARREGLO UNIDIMENSIONAL.n" );
arreglo[0]=14;
arreglo[1]=6;
arreglo[2]=25;
arreglo[3]=8;
arreglo[4]=11;
arreglo[5]=30;
arreglo[6]=3;

int contador=0;
for(contador=0; contador<=6; contador++){
printf("nCelda No.[%d]=%dn", contador, arreglo[contador] ); //Salida en pantalla
}
printf("nDESARROLLADO POR DANIEL SOTO VERGARA." );
getche(); //pausa
return 0;
}

---------------------------------------------------------------------------------------------------------------------------------------------------------

// Arreglos 2


#include <stdio.h>
#include <conio.h>

main(){
printf("FORMA ARREGLO UNIDIMENSIONAL 2.nn" );
int contador=0;
float arreglo[5];
for(contador=0; contador<=4; contador++){
printf("Introduce el valor de la celda[%d]: ",contador); //Salida en pantalla

scanf("%f", &arreglo[contador]); //Entrada manual

}

int contador2=0;
for(contador2=0;contador2<=4;contador2++){
printf("Valor de la celda[%d]: %.1fn",contador2,arreglo[contador2]); //Salida en pantalla.
}
printf("n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*"
"nDESARROLLADO POR DANIEL SOTO VERGARA."
"n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*" );
getche(); //Pausa
}

---------------------------------------------------------------------------------------------------------------------------------------------------------

//Arreglos bidimensionales (matrices)

#include <stdio.h>
#include <conio.h>

main(){
int arreglo[4][3];

arreglo[0][0]=7;
arreglo[0][1]=11;
arreglo[0][2]=3;
arreglo[1][0]=21;
arreglo[1][1]=16;
arreglo[1][2]=9;
arreglo[2][0]=1;
arreglo[2][1]=2;
arreglo[2][2]=3;
arreglo[3][0]=4;
arreglo[3][1]=5;
arreglo[3][2]=6;

int contador=0;
int contador2=0;
for(contador=0; contador<=3; contador++){
for(contador2=0; contador2<=2; contador2++){
printf("nEl valor de la celda[%d][%d]: %dna", contador, contador2, arreglo[contador][contador2]);
}
}
printf("n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*"
"nDESARROLLADO POR DANIEL SOTO VERGARA."
"n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*" );
getche();
}
_______________________________________________________________________________________

Un detalle, la dificultad de lo ejercicios esta en desorden: mas bien seria de abajo hacia arriba.
Pronto subire mas ejemplos y si ocupan uno en especifico pidanlo, que estoy a sus ordenes.

Comentar y puntuar es agradecer.

Gracias

Fuentes de Información - Ejercicios de Lenguaje C, Arreglos

Dar puntos
197 Puntos
Votos: 33 - T!score: 6/10
  • 9 Seguidores
  • 57.010 Visitas
  • 41 Favoritos

19 comentarios - Ejercicios de Lenguaje C, Arreglos

@Juanma201092 Hace más de 4 años
Si, se entiende, ahora te tengo una pregunta:
El usuario tiene que cargar un arreglo hasta poner 0 y luego tengo que imprimir este arreglo, después tengo que cargar el arreglo invertido en otro arreglo nuevo y luego imprimir este último.
La segungda parte no sale:

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#define N 1000
void cargar_arreglo (int arreglo[]);
void mostrar_arreglo (int arreglo[]);
void cargar_arregloinv (int arreglo[], int arregloinv[]);
void imprimir_arreglo(int arregloinv[]);
int main()
{ int arreglo[N]={0}, arregloinv[N]={0};
cargar_arreglo(arreglo);
mostrar_arreglo(arreglo);
cargar_arregloinv(arreglo, arregloinv);
imprimir_arreglo(arregloinv);
return 0;
}

void cargar_arreglo (int arreglo[])
{ int i;
for (i=0; i&lt;N; i++)
{ scanf(&quot;%d&quot;, &amp; arreglo);
if (arreglo!=0)
{}
else {break;}

}
}

void mostrar_arreglo (int arreglo[])
{ int i,p;
for (p=0;p&lt;i;p++)
{ printf(&quot;%d &quot;, arreglo[p]);
}
}

void cargar_arregloinv (int arreglo[], int arregloinv[])
{
int i, j, t;
for(i=N-1, j=0; i&gt;=0, j&lt;N; i--,j++)
{
t= arreglo;
arregloinv[j] =t;
}
}

void imprimir_arreglo(int arregloinv[])
{
int p,j;
for(p=0;p&lt;j;p++)
{ printf(&quot;Espacio [%d] %d \n&quot;, p, arregloinv[p]);
}
}


Graciasss
@xerickx6x Hace más de 3 años +2
Muy buenos gracias me salvastes en mis trabajos XD!!
@julyuzz Hace más de 3 años
jaja de lujo idodaniel, todavia me acuerdo cuando los haciamos
@kairo07 Hace más de 3 años +1
muy buen post
@fym1512 Hace más de 3 años
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
main()
{
printf(&quot; Programa para hacer un triangulo con asteriscos. &quot; );
int a, b, c;
clrscr();
printf(&quot; Cantidad de renglones en el triangulo: &quot; );
scanf(&quot;%d&quot;, &amp;a);
if(a&gt;15)
printf(&quot; Numero fuera de rango. nn *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*&quot; );
else
for(b=1; b&lt;=a; b++)
{
for(c=1; c&lt;=b; c++)
printf(&quot; * &quot; );
printf(&quot;nn&quot; );
}
printf(&quot;n Espero que te haya sido util este programa... &quot; );
printf(&quot;n Desarrollado por Daniel Agner Soto Vergara.&quot; );
getch();
return 0;
}

compadre tienes un error
primero te falto el esta parte printf(&quot;nn&quot; ); el antes de la n deveria ser printf(&quot;nn&quot; );
@fym1512 Hace más de 3 años -1
disculpa no m percate que no aparece el back slach a lo otro no deves poner return o; al final ya k no es funcion
@JuanJoow Hace más de 3 años
Estas mal es :
#include &lt;stdio.h&gt;
int main(){
int n,fila,col;
printf(&quot;tamaño de la piramide: &quot;
scanf(&quot;%d&quot;,&amp;n);

for(fila=1;fila&lt;=n;fila++){
/* Espacios en blanco*/
for(col=1;col&lt;=n-fila;col++){
printf(&quot; &quot;
}
for(col=1;col&lt;=2*fila-1;col++){
printf(&quot;*&quot;
}
printf(&quot;n&quot;
}
}

Darless dijo:
fym1512 dijo:#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
main()
{
printf(&quot; Programa para hacer un triangulo con asteriscos. &quot; );
int a, b, c;
clrscr();
printf(&quot; Cantidad de renglones en el triangulo: &quot; );
scanf(&quot;%d&quot;, &amp;a);
if(a&gt;15)
printf(&quot; Numero fuera de rango. nn *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*&quot; );
else
for(b=1; b&lt;=a; b++)
{
for(c=1; c&lt;=b; c++)
printf(&quot; * &quot; );
printf(&quot;nn&quot; );
}
printf(&quot;n Espero que te haya sido util este programa... &quot; );
printf(&quot;n Desarrollado por Daniel Agner Soto Vergara.&quot; );
getch();
return 0;
}

compadre tienes un error
primero te falto el esta parte printf(&quot;nn&quot; ); el antes de la n deveria ser printf(&quot;nn&quot; );

Volvi a revisar el programa, y funciona perfecto. Tal vez en tu caso sea un error del programa o usas otro tipo de metodo para elaborarlo. Saludos.
@hisrivas2 Hace más de 2 años
JuanJoow dijo:Estas mal es :
#include &lt;stdio.h&gt;
int main(){
int n,fila,col;
printf(&quot;tamaño de la piramide: &quot;
scanf(&quot;%d&quot;,&amp;n);

for(fila=1;fila&lt;=n;fila++){
/* Espacios en blanco*/
for(col=1;col&lt;=n-fila;col++){
printf(&quot; &quot;
}
for(col=1;col&lt;=2*fila-1;col++){
printf(&quot;*&quot;
}
printf(&quot;n&quot;
}
}

Darless dijo:
fym1512 dijo:#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
main()
{
printf(&quot; Programa para hacer un triangulo con asteriscos. &quot; );
int a, b, c;
clrscr();
printf(&quot; Cantidad de renglones en el triangulo: &quot; );
scanf(&quot;%d&quot;, &amp;a);
if(a&gt;15)
printf(&quot; Numero fuera de rango. nn *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*&quot; );
else
for(b=1; b&lt;=a; b++)
{
for(c=1; c&lt;=b; c++)
printf(&quot; * &quot; );
printf(&quot;nn&quot; );
}
printf(&quot;n Espero que te haya sido util este programa... &quot; );
printf(&quot;n Desarrollado por Daniel Agner Soto Vergara.&quot; );
getch();
return 0;
}

compadre tienes un error
primero te falto el esta parte printf(&quot;nn&quot; ); el antes de la n deveria ser printf(&quot;nn&quot; );

Volvi a revisar el programa, y funciona perfecto. Tal vez en tu caso sea un error del programa o usas otro tipo de metodo para elaborarlo. Saludos.




a los dos le falta en la impresión n
@hisrivas2 Hace más de 2 años +1
a no nadien esta mal lo que pasa es que no se ve la diagonal
@fhernandho Hace más de 2 años
disculpee uted aun esta activo ya ke podria ayudarmee necesito un arreglo como el de ordenar numeros pero de menos datos, o el de promedios x fas el borland ke usas creo ke es el mismo pero a al hora de compilar me marca errores y eso ke copio tal y como es :s porfas si puedes contestar x aki o por mp
saludos
@nico_tombino Hace más de 2 años
es muy bueno gracias !!!
@NEJER Hace más de 1 año -1
Mucha sgracauis muy biuen post, so s ecomo es eso de los puntos peor si los tuviera te daria +10
@paolaperez33 Hace más de 11 meses
Podrias ayudarme con este proyecto porfa http://profesores.fi-b.unam.mx/cintia/Proyecto_2014-1ASEG.pdf PORFAVOR!!!!
@CyntiaNau Hace más de 7 meses
Hola, muy buen aporte para los que estamos aprendiendo programación, si gustan pueden visitar my página y allí encontrarán algunos ejemplos más de ejercicios de programación en c++
@cruz1993 Hace más de 6 meses
se puede hacer esto?

que el usuario ingrese 2 nnumeros

que el programa me de el rango de primos entre esos numeros

y los ordene de forma descendiente
de mayor a menor
@RIDDICK2424 Hace más de 5 meses
alguien me da la solucion de este:

Se tiene 15 estaciones de trabajo, cada una de las cuales tiene un encargado, del cual se conocen el nombre y la producción que tuvo en cada uno de los meses del año. Elaborar un algoritmo que lea los 15 nombres y los guarde en un arreglo; que haga lo mismo con los 12 meses de producción de cada una de las estaciones y que los almacene en una matriz de 15 X 12.
Doy puntos