Ejercicios de Lenguaje C, Arreglos

Anuncios

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

Anuncios

21 comentarios - Ejercicios de Lenguaje C, Arreglos

Juanma201092
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 +2
Muy buenos gracias me salvastes en mis trabajos XD!!
julyuzz
jaja de lujo idodaniel, todavia me acuerdo cuando los haciamos
fym1512
#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 -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
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
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 +1
a no nadien esta mal lo que pasa es que no se ve la diagonal
fhernandho
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
NEJER -1
Mucha sgracauis muy biuen post, so s ecomo es eso de los puntos peor si los tuviera te daria +10
CyntiaNau
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
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
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
gobomagico
Alguien me puede ayudar con un programa que pida al usuario 5 números y los guarde en un arreglo.
Ningún número puede ser repetido.
Si se ingresa un número que ya ha sido ingresado el programa vuelve a pedir un valor hasta que se ingrese un valor que no se encuentre ya ingresado.
Cuando se terminen de ingresar los números el programa imprime los números ingresados.