SlideShare una empresa de Scribd logo
1 de 34
Colegio de Estudios Cientificos Y Tecnológicos
del Estado de México
Núñez Morales Elizdey Areli.
SOFTWARE II
“Manual de Practicas”
Prof. Rene Dominguez Escalona.
Grupo: 304
Carrera: Programación.
∞INDICE
∞ resta y multiplicación ………….. 1
∞ frecuencia ………….. 2
∞ Sumando ………….. 3
∞ Password ………….. 4
∞ A+B ………….. 5
∞ mensaje de suma ………….. 6
∞ día de la semana ………….. 7
∞ Multiplicando ………….. 8
∞ misión calcular el área ………….. 9
∞ Cuadrado ………….. 10
∞ Bardeando ………….. 11
∞ matriz cuadrada ………….. 12
∞ área de un rectángulo ………….. 13
∞ área de un triangulo ………….. 14
∞ ordenando a los alumnos ………….. 15
∞ obtener promedio ………….. 16
∞ excursionista mayor ………….. 17
∞ Bisiesto ………….. 18
∞ deuda2 ………….. 19
∞ cuadro mágico ………….. 20
∞ mayor numero ………….. 21
∞ par e impar …………..22
∞ Cuadro contorno ………….. 23
∞ triangulo ………….. 24
∞ rombo ………….. 25
∞ rombo contorno ………….. 26
∞ flecha ………….. 27
∞ cohete ………….. 28
∞ array1 ………….. 29
∞ array2 ………….. 30
∞ array 3 ………….. 31
∞ array 4 ………….. 32
∞ array 5 ………….. 33
∞ hipotenusa ………….. 34
∞ frecuencias ………….. 35
∞ Resta y multiplicación
Descripción
Haz un sencillo programa que lea 4 variables nombradas A, B, C y D. Y calcula e
imprima la multiplicación de la diferencia de A y B con la diferencia de C y D.
(A−B∗C−D)
Entrada
Cuatro números enteros
Salida
El producto de la diferencia con 4 variables de acuerdo al ejemplo.
Ejemplo
10 6 8 3
20
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int a,b,c,d,k,h,suma=0; EJECUCION:
cin>>a;
cin>>b;
cin>>c;
cin>>d;
k=a-b;
h=c-d;
suma=k*h;
cout<<suma<<endl;
return 0;
}
∞ Frecuencias
Descripción
Cierta escuela realiza
cuestionarios para conocer al
profesor favorito de los
alumnos. Y lo realiza de la
siguiente manera; a cada
profesor se le asigna un
número posteriormente a cada alumno se le pregunta cuál es su profesor favorito,
posteriormente, se calcula una tabla de frecuencia indicando en cada profesor cual es
la cantidad de alumnos que lo eligieron.
Problema
Escribe un programa que ayude a la escuela a escribir la tabla de frecuencias.
Entrada
En la primera línea el número “P” que indica la cantidad de profesores que tiene la
escuela donde 1<=P <= 100 y el número “n” que indica la cantidad de alumnos en la
escuela donde
1<=n<=1000. en la siguiente línea habrán “n” números que representan el número de
profesor favorito “F” de cada alumno donde 1<=F<=P.
Salida
Deberá haber “P” cantidad de líneas y en cada una dos números separados por un
guión, el primer número será el número del profesor y el segundo número la cantidad
de alumnos que lo eligieron.
Consideraciones
Tu programa se evaluará con varios casos de prueba.
Entrada Salid
a
Descripci
ón
4 10
1 1 2 1 1 2
3 2 3 4
1-4
2-3
3-2
4-1
Case #1:
4 8
1 2 4 1 2 4
1 2
1-3
2-3
3-0
4-2
Case #2:
#include<iostream>
using namespace std;
int main (){
int n,m;
cin>>n;
cin>>m;
int a[m];
int p[n]={0};
for(int i=0;i<m;i++){
cin>>a[i];
}
for(int j=0;j<m;j++){
p[a[j]-1]++;
}
for (int i=0;i<n;i++){
cout<<i+1<<" - "<<p[i]<<endl;
}
return 0;
}
∞ Sumando
Problema
Se tiene un matriz cuadrada de tamaño “n” y se requiere saber cuánto suma cada
columna.
Entrada
En el primer renglón un valor “n” indicando el tamaño de la matriz donde1<=n<=1000
y en los siguientes “n” renglones habrán “n” valores correspondientes los valores de
cada renglón de la matriz donde 1<=V<= 1000.
Salida
Un renglón con “n” cantidades, cada cantidad representa la sumatoria de cada columna
de la matriz, el primer valor correspondeala columna1, el segundo a la columna 2 ,... y
el último valor corresponde a la columna “n”. Consideraciones
Tu programa se evaluará con varios casos de prueba
Ejemplo
s
Entrada
Salida Descripci
ón
3
1 2 3
3 5 6
7 8 9
11 15 18 Case #1:
4
3 2 4 3
2 3 3 2
7 8 5 3
1 1 1 1
13 14 13
9
Case #2:
#include<iostream>
using namespace std;
int main (){
int n;
cin>>n;
int a[n][n];
int b[n]{0};
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
b[j]+=a[i][j];
}
}
for(int j=0;j<n;j++){
cout<<b[j]<<" ";
}
cout<<endl;
}
∞ Ordenando
Problema
Dada una lista de números enteros hay que determinar si la lista esta ordenada de
menor a mayor, de mayor a menor o sencillamente no está ordenada.
Entrada
En la primera línea un valor “n” indicando la cantidad de valores que conforma la lista,
donde 3<=n<=1000, en la segunda línea los “n” números separados por un espacio,
cada número está en el rango de 1 a 1,000,000,000. Salida
Una sola línea con 3 posibles valores, si la lista está ordenada de menor a mayor debes
escribir la palabra “CRECIENTE” si la lista esta ordenada de mayor a menor debes
escribir la palabra “DECRECIENTE” y si la lista no esta ordenada debes escribir la frase
“NO ORDENADA”. Te
aseguramos que no existe un caso con posibilidad de empate (que pueda ser creciente
y decreciente). Consideraciones
Ejemplos
Entrada
Salida Descripci
ón
Tu programa se evaluará con
varios casos de prueba
#include <iostream>
using namespace std;
int main() {
int n,f=0,de=0;
cin>>n;
int*g=new int [n];
for )int l=0; l<n; l++)
{
cin>>g[l];
}
for(int l=0;l<n;l++){
if(g[l]<g[l+1]){
f++;
}
if(g[1]>g[l+1[){
de++;
}
}
if(f==n){
cout<<"creciente";
}else if(de==n-1){
cout<<"decreciente";
}
else{
cout<<"no ordenado";
}
return 0;
}
5
10 20 30 40
40
CRECIENTE Case #1:
3
3 2 2 DECRECIENTE Case #2:
4
1 10 10 5 NO ORDENADA Case #3:
∞ Password
Descripción
Para que un password sea seguro debe seguir las siguientes reglas:
Tener al menos una vocal.
No tener dos o más caracteres consecutivos iguales.
Tener una longitud de al menos 12 caracteres.
Tener al menos un carácter numérico.
Problema
Escribe un que nos ayude a determinar si un password es seguro o no.
Entrada
En la primera línea un número n indicando la cantidad de caracteres que conforman el
password, donde 1≤n≤100, en la siguiente línea n caracteres que pueden ser letras de
la A a la Z, números del 1 al 9. las letras minúsculas y mayúsculas se consideran
diferentes.
Salida
Si el password es seguro de acuerdo a las reglas establecidas debes escribir la palabra
SEGURO en caso contrario debes escribir la frase INSEGURO.
#include <iostream>
using namespace std;
int main() {
int n,pass;
cin>>n;
for(int i=0;i<n;i++){
cin>>pass;
}
if(n<12){
cout<<"inseguro";
}else
Ejemplos
Entrada Salida
5
abcdd INSEGURO
12
aft156YTU5
12
SEGURO
cout<<"seguro";
return 0;
}
∞ A+B
Descripción
Este problema consiste en crear un programa que sume dos números.
Entrada
Dos números A y B separados por un espacio.
Salida
Imprime A+B
Ejem
plo
Entra
da
Salida Descripció
n
1 2 3 1+2=3
5 10 15 5+10=15
#include <iostream>
using namespace std;
int main() {
int a,b,suma;
cin>>a;
cin>>b;
suma=a+b;
cout<<suma<<endl;
return 0;
}
∞ Mensaje Sumas
Descripción
Es un problemamuy simple, para acostumbrarse a los jueces automáticos, lo que tienes
que hacer es recibir dos númerosy con estos dos números los sume y muestre la salida
indicando el mensaje de la suma como se muestra en el ejemplo.
Entrada
Un número entero a y un número entero b.
Salida
Debe mostrar el siguiente mensaje donde a y b debe sustituirse por los valores que
recibe como entrada el programa y la palabra resultado por la suma de ambos
numeros, asegurate de respetar mayúsculas y minúsculas y los espacios en blanco
intermedios.
La suma de a + b es resultado
Ejemplo
Entrada Salida
1
2 La suma de 1 + 2 es 3
#include <iostream>
using namespace std;
int main() {
int a,b,suma;
cin>>a;
cin>>b;
suma=a+b;
cout<<"la suma de "<<a<<" + "<<b<<" es "<<suma<<endl;
return 0;
}
∞ H. Día de la semana
Descripción
Se esta programando un robotque apartir de que le indiquesun número te dira que día
de la semanaes pero el robot tiene un problemael puederecibir un número del del 1 al
7 y dirá el día de la semana correspondiente(donde el 1 es el día lunes),pero si recibe
un número incorrecto el robot manda un mensaje de error, pero se ha descubierto que
el robot cuando introduces el número tiene un error por que el programador del robot
uso la siguiente formula que se le aplica al número que introduce 2n+1 y apartir de
aqui indica el día, es decir si el usuario introduce un 1 el resultado será Miercoles.
Entrada
1
Salida
Miércoles
Entrada
8
Salida
Error
Notas
El usuario puedeintroducir indefinidamentenúmerosy tu programa debe ser capaz de
controlar esto. ||end
#include <iostream>
using namespace std;
int main() {
int n,dia;
cin>>n;
dia=(2*n)+1;
switch(dia)
{
case 1:cout<<"lunes"<<endl;
break;
case 2:cout<<"martes"<<endl;
break;
case 3:cout<<"miercoles"<<endl;
break;
case 4:cout<<"juevez"<<endl;
break;
case 5:cout<<"viernes"<<endl;
break;
case 6:cout<<"sabado"<<endl;
break;
case 7:cout<<"domingo"<<endl;
break;
default:cout<<"error"<<endl;
break;
}
return 0;
}
∞ Multiplicando
Descripción
Se requiere que realices un un cálculo a partir de recibir un número, entregar el
producto delos númerosconsecutivos del 1 a n, por ejemplo si recibes el 3 el resultado
es 6, es decir el resultado de multiplicar 1×2×3. Entrada
Un único entero n.
Salida
La multiplicación de los números consecutivos del 1 al n.
Límites
0≤n≤20
Ejempl
o
Entrad
a
Sali
da
5 120
#include <iostream>
using namespace std;
int main() {
int n,fac=1;
cin>>n;
for(int i=1;i<=n;i++)
{
fac*=i;
}
cout<<fac;
return 0;
}
∞ Misión Calcular Área
Descripción
Tu misión si decides aceptarla es encontrar el área de un cilindro, cuya formula como
bien sabes es 2PIr*h donde PI es 3.1416 y r:representa el radio y h:la altura. pero
cuidado por que no estan sencillo resolver el problema el resultado lo debes entregar
con 2 cifras decimales despues del punto.
Entrada
1 2
Salida
12.57
Notas
El primer número que recibes es el radio y el segundo número es la altura.
La misión aunque parecia muy sencilla, se va a complicar por que si el primer número
que lees es el -1 debes ignorarlo y en seguida leer el radio y posteriormente la altura.
||end
#include <iostream>
#include<math.h>
#include<stdio.h>
#include<iomanip>
using namespace std;
int main() {
float r,h,area,pi=3.1416;
double total;
cin>>r;
if(r>=1){
cin>>h;
area =(2*pi)*r;
total=area*h;
cout<<fixed<<setprecision(2)<<total;
}else
if(r<1){
cin>>r;
cin>>h;
area=(2*pi)*r;
total=area*h;
cout<<fixed<<setprecision(2)<<total;
}
return 0;
}
∞ Cuadrado
Descripción.
A continuación te mostramos un giro de 90 grados a la derecha de una matriz de 2 por
2 cuyos valores son:
Matriz original
1 2
3 4
Matriz Girada 90° a la derecha
3 1
4 2
Problema
Dada una matriz cuadrada de tamaño “n” , debes hacer que tu programa la gire 90
grados a la derecha.
Entrada
En la primera línea el valor “n” indicando el tamaño de la matriz donde 1<=n<=1000,
en los siguientes “n” renglones habrán “n” valores de la matriz separados por un
espacio.
Salida
“n” renglones cada renglón con "n" valores mostrando la matriz girada 90 grados.
Consideraciones Tu programa se evaluará con varios casos de prueba
Ejempl
o
Entrad
a
Salida Descripción
2
1 2
3 4
3 1
4 2
Case #1:
Entrad
a
Salida Descripción
3
1 2 3
4 5 6
7 8 9
7 4 1
8 5 2
9 6 3
Case #2:
#include <iostream>
using namespace std;
int main() {
int p,n,c,m=0,mc=0;
cin>>p>>n;
for(int i=0; i<n;i++){
cin>>c;
m+c;
}
mc=p-m;
if(m>p){
cout<<0;
}else
cout<<mc<<endl;
return 0;
}
∞ Bardeando
Descripción
Se tiene un conjunto de “n” trozos de malla ciclónica y un terreno de perímetro “P” el
terreno es cuadrado.
Problema
Debes escribir un programa que nos diga cuántos metros de malla ciclonica nos hace
falta para poder bardear el terreno.
Entrada
En la primera línea dos números “P” y "n", donde "P" representa el perímetro del
terreno con un rango de valores de1<=P <= 2,000,000,000 y “n” representa la cantidad
de trozosde malla ciclónica que tenemos, donde 1<=n<=100,000. En las siguientes “n”
líneas es el tamaño de cada trozo de malla que tenemos. La suma de todos los trozos
siempre será menor a 2147483648.
Salida
Un único valor entero indicando los metros de malla que nos hacen falta para bardear
el terreno.
Ejempl
os
Entrad
a
Salida Descripció
n
100 3
25
20
45 Caso #1
Entra
da
Salida Descripción
10
100 2
1000
2000
0 Caso #2
21 1
20
1 Caso #3
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
int main(){
int P,n,c,m=0,Cachofaltante=0;
cin>>P>>n;
for (int i=0;i<n;i++){
cin>>c;
m+=c;
}
Cachofaltante=P-m;
if(m>P){
cout<<0;
}else
cout<<Cachofaltante<<endl;
}
∞ Matriz Cuadrada
Descripción
Descripción Tenemos una matriz de “R” renglones por “C” columnas, donde podemos
enumerar las casillas de la siguiente manera, la casilla 1,1 (renglón 1, columna 1), la
casilla 1,2 (renglón 1, columna 2) y la casilla 1,3 (renglón 1, columna 3 ) serían
respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura, donde la casilla
1,1 es la esquina superior izquierda y la celda “R” x “C” es la celda ubicada en la esquina
inferior derecha.
En esta cuadrícula, podemoshacer preguntas de la forma, ¿que número
está en la casilla 1,2 ? y su respuesta sería 2 otro ejemplo ¿qué número está en la celda
2,3? y su respuesta es 6.
Problema
Escribe un programaque dadalas dimensionesdela cuadrícularesponda una cantidad
“P” de preguntas. Entrada
En la primera línea dos valores indicando las dimensiones de la cuadrícula separados
por un espacio ‘R’ cantidad de renglones donde 1<=R<=10000 y “C” cantidad de
columnas donde 1<=C<=10000, En la tercera línea el número “P” cantidad de
preguntasdonde1<=P<=10,000y en lassiguientes “P” líneas un par decoordenadasde
la forma r, c, representando las coordenadas de cada pregunta en donde “r” indica el
renglón 1<=r<=R y “c” la columna 1<=c<=C por cada pregunta.
Salida
Por cada pregunta debe escribir en cada línea el número de casilla que le corresponde.
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
Tip
Tip Revise por cada renglón de preguntas cuántos valores debe avanzar, en la Entrada
1 para la primera pregunta debe avanzar 0, para la segunda debe avanzar 3 y para la
tercer pregunta debe avanzar 6.
Entr
ada
Sa
lid
a
Descr
ipció
n
3 3
3
1 1
2 2
3 3
1 5
9
Caso
#1
3
1000
2
2 1
2 10
10
01
20
10
Caso
#2
#include<iostream>
using namespace std;
int main(){
int r,c,p,r1;
cin>>r>>c>>p;
int g[p][2];
for( int i=0; i<p;i++){
for( int j=0; j<2;j++){
cin>>g[i][j];
}
}
for(int f=0;f<p;f++){
r=((g[f][0]-1)*c)+g[f][1];
cout<<r<<" ";
}
}
∞ Área de un rectángulo
Descripción
Se te darà la base y la altura de un rectángulo, deberás desplegar su área.
Entrada
Dós números b y a
Salida
La salida deberá ser el área del rectángulo
Ejemplo
12 5 60
2 7 14
#include <iostream>
using namespace std;
int main() {
int b,a,area;
cin>>b;
cin>>a;
area=b*a;
cout<<area<<endl;
return 0;
}
∞ Área de un triángulo
Descripción
Se te dará la base y la altura de un triángulo, deberás desplegar su área.
Entrada
Dós números b y a
Salida
La salida deberá ser el área del triángulo con dos decimales después del punto.
Ejem
plo 12
5
30.0
0
#include <iostream>
#include<math.h>
#include<stdio.h>
#include<iomanip>
using namespace std;
int main() {
float b,a;
double area;
cin>>b;
cin>>a;
area=(b*a)/2;
cout<<fixed<<setprecision(2)<<area;
return 0;
}
∞ Ordena a los alumnos
Descripción
Los Chicos de la escuela van a recibir un premio, pero tienen que estar formados de la
calificacion mayor a la menor, ya que el Profe Rayito quiere orden y dar el mejor
premio a la mejor calificacion, y asi sucesivamente.
Entrada
Primero hay que pedir la cantidad de Alumnos y despues las calificaciones
Salida
mostrar las calificaciones ordenadas del mayor al menor
Ejemplo
Entrada Salida Descripción
4
75 82 100 50
100 82 75 50 Cantidad de
alumnos, y en la
segunda linea las
calificaciones
Límites
No especificado
#include <iostream>
using namespace std;
int main()
{
int n,aux;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
∞ Obtener promedio
Descripción
EL maestro Melquiades quiere saber el promedio de calificaciones de su grupo, Por lo
que tu como programador le ayudaras codificando un programita que le pida una
cantidad de alumnos, y en seguida las calificaciones
Entrada
La cantidad de Alumnos y las "n" calificaciones en escala 0 al 100, sin decimales.
Salida
Mostrar el promedio con dos decimales.
Ejemplo
Entrada Salida Descripción
4
50 100 100 50
75.00 Pedir la Cantidad
de alumnos, y las
"n" calificaciones.
Mostrar el
promedio con dos
decimales.
Límites
No especificado
#include<iostream>
using namespace std;
int main () {
int n,a,p=0;
cin>>n;
cout<<endl;
for(int i=0;i<n;i++){
cin>>a;
p+=a;
}
float prom=p/n;
cout<<prom<<".00"<<endl;
}
∞ T. Figuras Rectangulares
Descripción
Tenemos un conjunto de cuadrados y rectángulos cuyos medidas de sus diferentes lados son
cantidades enteras y mayores a 1 y , si tenemos el área de la figura, es posible que sea un cuadrado o
un rectángulo.
Problema
Construye un programa que nos ayude a resolver este problema (dada el área de una figura
determinar si es cuadrado o rectángulo), la lectura la debes hacer de la entrada estándar (teclado) y la
escritura se debe hacer a la salida estándar (pantalla).
Entrada
La primera línea contendrá un número "N" entre 1 y 1,000,000,000, representando el área.
Salida
Una sola línea indicando la figura que se puede formar, si el área puede formar un cuadrado debes
imprimir la palabra “cuadrado” si el área puede formar un rectángulo, debes imprimir la palabra
“rectangulo” y si el área puede formar ambos debe imprimir la palabra “ambos” (note no hay acentos
ni mayusculas), en caso de que no se pueda formar un cuadrado o rectángulo escriba "ninguno"
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
Tips
Área de un cuadrado = lado * lado
Área de un rectángulo= (base * altura )
¿Hasta que valor con respecto a “N” debo probar ?
Observa que solo debes probar desde 2 hasta raíz de "N", si un número es divisible entre 2 significa
que también es divisible entre N/2 por tanto si probamos con el numero 2, estamos al mismo tiempo
probando con el numero N/2.
Entra
da
Salida
9 cuadrad
o
6 rectáng
ulo
36 ambos
#include <iostream>
using namespace std;
int main() {
int n,raiz,rectangulo,cuadrado;
cin>>n;
raiz=sqrt(n);
cuadrado=raiz*raiz;
rectangulo=n/2*2;
if(rectangulo ==n && cuadrado==n){
cout<<"ambos";
}else if(rectangulo==n){
cout<<"rectangulo";
}else
if(cuadrado==n){
cout<<"cuadrado";
} else
cout<<"ninguno";
return 0;
}
∞ Triángulo
Descripción
Un triángulo es formado por 3 segmentos (con valor entero) de recta unidos por sus
extremos, sin embargo no todas las combinaciones de 3 segmentos pueden formar un
triángulo.
Problema
Escriba un programa que dados 3 números que representan 3 segmentos de rectas,
diga si pueden formar un triángulo rectángulo.
Entrada
En la primera línea 3 números “a”, “b” y “c” representando las longitudes de 3
segmentos de recta en un rango de entre 1 y 32,000.
Salida
Una sola línea en dondesies posible generar un triángulo rectángulo debes imprimir la
hipotenusa, el cateto mayor y el cateto menor y si no es posible formar un triángulo
rectángulo imprime la palabra “imposible”.
Consideraciones
Tu programa se evaluará con varios casos de prueba, para cada caso de prueba
(entrada)
Ejempl
os
Entrad
a
Salida Descr
ipció
n
1 1 1 imposib
le
Caso
#1
3 4 5 5 4 3 Caso
#2
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
Tips
El teorema de Pitágoras la hipotenusa es igual a la raíz cuadrada de la suma de los
cuadrados de sus catetos.
¿Es necesario hacer el cálculo de la raíz cuadrada?
#include <iostream>
using namespace std;
int main() {
float a,b,c;
cin>>a>>b>>c;
if(a<(b+c)&& b<(a+b)){
cout>>c>>" ">>b>>" ">>a>>endl;
}else
cout>>"imposible";
return 0;
}
∞ Suma Triple
Descripción
Se tiene la siguiente función f(n), formada por la suma de los tres números anteriores.
f(1)=1
f(2)=1
f(3)=2
f(4)=4
f(5)=7
f(6)=13
f(7)=24
f(8)=44
f(9)=81
Note que f(1)= 1 ya que no tiene númerosanteriores, f(2)=1 ya que es el único número
anterior, f(3) tiene solo 2 númerosanterioresy a partir de f(4) se da la suma de los tres
números anteriores.
Problema
Escribe un programa que dado el valor de “n” escriba la serie correspondiente.
Entrada
Un solo renglón conteniendo el valor “n”donde 1<=n<=64.
Salida
Una sola línea mostrando la serie desde el número menor hasta el mayor cada número
debe estar separado por un espacio.
Tips
Un entero 32 bits es capaz de almacenar la f(n) para n=60
#include<iostream>
using namespace std;
int main() {
int i,n,m,c,a,g,suma=0;
cin>>i>>n>>m;
for(i=0;i<m;i++)
{
cin>>c;
suma+=c;
}
a=n-suma;
g=a+i/n;
cout<<g;
return 0;
}
Entrad
a
Salida Descripció
n
4 1 1 2 4 Caso #1
6 1 1 2 4
7 13
Caso #2
9 1 1 2 4
7 13 24
44 81
Caso #3
∞ Deuda 2
Descripción
Nuestro amigo Cope tiene un problema pues le debe algunas cosas a cierta persona con
la cual no puede quedar mal, sin embargo dicha persona es muy mala con Cope y trata
de hacer que le pague más de lo que le debe, para esto le dice que los intereses han
subido y pone mil cosas para cobrar de más pero del unico interes que se hablo fue al
momento de comenzar la transacción. Ayuda a Cope a llevar un buen control de su
deuda sabiendo cuanto debe y cuanto abona, se sabe que originalmente se indico los
intereses.
Entrada
En la primera línea tres números enteros I, N, M separados por un espacio
representando el interes acordado(número entero que representa el interes)
inicialmente, número de cosas que debe Cope y los pagos que hará respectivamente.
Siguiente M líneas un entero representando el pago de Cope.
Salida
Un entero representando como finaliza la cuenta de Cope.
Ejemplo
Entrada
Salida Descripción
0 10 2
3
6
1 Ninguna.
Entrad
a
Salida Descripci
ón
100 10
2
3
6
11 Ninguna.
#include <iostream>
using namespace std;
int main (){
int i,n,m,c,a,g,suma=0;
cin>>i>>n>>m;
for(int i=0;i<m;i++){
cin>>c;
suma+=c;
}
a=n-suma;
g=a+i/n;
cout<<g;
return 0;
int main() {
for(int n=10;n>=0;n--){
cout<<n<<endl;
}
}
∞ Mayor número
Descripción
Pondrás una serie de números y el resultado será el mayor número
Entrada y salida
#include <iostream>
using namespace std;
int main() {
int n,p,mayor=0;
cin>>n;
for(int i=1;i<n;i++){
cin>>p;
if(p>mayor)
mayor=p;
}
cout<<"mayor"<<mayor<<endl;
}
∞ Par e Impar
Descripción
Una serie de números te dirá si es impar o par
Entrada y salida
#include <iostream>
using namespace std;
int main() {
for (int i=1;i<=100;i++){
if(i%2==0){
cout<<i<<"par"<<endl;
}
else{
cout<<i<<"impar"<<endl;
}
}

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Software omegaup
Software omegaupSoftware omegaup
Software omegaup
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)
 
Practicas
PracticasPracticas
Practicas
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 
Ejercicio en c
Ejercicio en cEjercicio en c
Ejercicio en c
 
Problemas Condicionales
Problemas CondicionalesProblemas Condicionales
Problemas Condicionales
 
Manual POO
Manual POOManual POO
Manual POO
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplos
 
dqwrwer
dqwrwerdqwrwer
dqwrwer
 
tarea algoritmos balotario 1
tarea algoritmos balotario 1tarea algoritmos balotario 1
tarea algoritmos balotario 1
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de java
 
Modulo3
Modulo3Modulo3
Modulo3
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios java
 
Deber 01
Deber 01Deber 01
Deber 01
 

Similar a Software e.e docx

Presentación de deber
Presentación de deberPresentación de deber
Presentación de deberMiguelcz30
 
C++ parcial 1 oscar mendoza-303
C++ parcial 1  oscar mendoza-303C++ parcial 1  oscar mendoza-303
C++ parcial 1 oscar mendoza-303Oscar711
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015Ulises_312
 
Ejercicios Utilizando C++
Ejercicios Utilizando C++Ejercicios Utilizando C++
Ejercicios Utilizando C++Adita IC
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programasgidemon
 
Universidad politécnica de tecámac
Universidad politécnica de tecámacUniversidad politécnica de tecámac
Universidad politécnica de tecámacmariferyaaron
 
Ejercicios grupales programacion
Ejercicios grupales programacionEjercicios grupales programacion
Ejercicios grupales programacionmikeburhnan
 
Factorial again! Olimpiada Informática Media IOI- ACM
Factorial again! Olimpiada  Informática Media IOI- ACMFactorial again! Olimpiada  Informática Media IOI- ACM
Factorial again! Olimpiada Informática Media IOI- ACMVictor Aravena
 
Examen primera evaluacion_iii_2009_2010_solucion
Examen primera evaluacion_iii_2009_2010_solucionExamen primera evaluacion_iii_2009_2010_solucion
Examen primera evaluacion_iii_2009_2010_solucionJosé Díaz Pilpe
 
Practica calificada
Practica calificadaPractica calificada
Practica calificadaYO Por Que
 

Similar a Software e.e docx (20)

Presentación de deber
Presentación de deberPresentación de deber
Presentación de deber
 
C++ parcial 1 oscar mendoza-303
C++ parcial 1  oscar mendoza-303C++ parcial 1  oscar mendoza-303
C++ parcial 1 oscar mendoza-303
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 
Temario de c++
Temario de c++Temario de c++
Temario de c++
 
Lenguaje c neo
Lenguaje c neoLenguaje c neo
Lenguaje c neo
 
Aline
AlineAline
Aline
 
Cesar lenguaje c_
Cesar lenguaje c_Cesar lenguaje c_
Cesar lenguaje c_
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Ejercicios Utilizando C++
Ejercicios Utilizando C++Ejercicios Utilizando C++
Ejercicios Utilizando C++
 
ACTIVIDAD 4.docx
ACTIVIDAD 4.docxACTIVIDAD 4.docx
ACTIVIDAD 4.docx
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Universidad politécnica de tecámac
Universidad politécnica de tecámacUniversidad politécnica de tecámac
Universidad politécnica de tecámac
 
Manual.es
Manual.esManual.es
Manual.es
 
Ejercicios grupales programacion
Ejercicios grupales programacionEjercicios grupales programacion
Ejercicios grupales programacion
 
Factorial again! Olimpiada Informática Media IOI- ACM
Factorial again! Olimpiada  Informática Media IOI- ACMFactorial again! Olimpiada  Informática Media IOI- ACM
Factorial again! Olimpiada Informática Media IOI- ACM
 
Examen primera evaluacion_iii_2009_2010_solucion
Examen primera evaluacion_iii_2009_2010_solucionExamen primera evaluacion_iii_2009_2010_solucion
Examen primera evaluacion_iii_2009_2010_solucion
 
Practica calificada
Practica calificadaPractica calificada
Practica calificada
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Ejercicios alg bucles
Ejercicios alg buclesEjercicios alg bucles
Ejercicios alg bucles
 

Último

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 

Último (7)

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 

Software e.e docx

  • 1. Colegio de Estudios Cientificos Y Tecnológicos del Estado de México Núñez Morales Elizdey Areli. SOFTWARE II “Manual de Practicas” Prof. Rene Dominguez Escalona. Grupo: 304 Carrera: Programación.
  • 2. ∞INDICE ∞ resta y multiplicación ………….. 1 ∞ frecuencia ………….. 2 ∞ Sumando ………….. 3 ∞ Password ………….. 4 ∞ A+B ………….. 5 ∞ mensaje de suma ………….. 6 ∞ día de la semana ………….. 7 ∞ Multiplicando ………….. 8 ∞ misión calcular el área ………….. 9 ∞ Cuadrado ………….. 10 ∞ Bardeando ………….. 11 ∞ matriz cuadrada ………….. 12 ∞ área de un rectángulo ………….. 13 ∞ área de un triangulo ………….. 14 ∞ ordenando a los alumnos ………….. 15
  • 3. ∞ obtener promedio ………….. 16 ∞ excursionista mayor ………….. 17 ∞ Bisiesto ………….. 18 ∞ deuda2 ………….. 19 ∞ cuadro mágico ………….. 20 ∞ mayor numero ………….. 21 ∞ par e impar …………..22 ∞ Cuadro contorno ………….. 23 ∞ triangulo ………….. 24 ∞ rombo ………….. 25 ∞ rombo contorno ………….. 26 ∞ flecha ………….. 27 ∞ cohete ………….. 28 ∞ array1 ………….. 29 ∞ array2 ………….. 30 ∞ array 3 ………….. 31 ∞ array 4 ………….. 32
  • 4. ∞ array 5 ………….. 33 ∞ hipotenusa ………….. 34 ∞ frecuencias ………….. 35 ∞ Resta y multiplicación Descripción Haz un sencillo programa que lea 4 variables nombradas A, B, C y D. Y calcula e imprima la multiplicación de la diferencia de A y B con la diferencia de C y D. (A−B∗C−D) Entrada Cuatro números enteros Salida El producto de la diferencia con 4 variables de acuerdo al ejemplo. Ejemplo 10 6 8 3 20
  • 5. #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a,b,c,d,k,h,suma=0; EJECUCION: cin>>a; cin>>b; cin>>c; cin>>d; k=a-b; h=c-d; suma=k*h; cout<<suma<<endl; return 0; } ∞ Frecuencias Descripción Cierta escuela realiza cuestionarios para conocer al profesor favorito de los alumnos. Y lo realiza de la siguiente manera; a cada profesor se le asigna un número posteriormente a cada alumno se le pregunta cuál es su profesor favorito, posteriormente, se calcula una tabla de frecuencia indicando en cada profesor cual es la cantidad de alumnos que lo eligieron. Problema Escribe un programa que ayude a la escuela a escribir la tabla de frecuencias. Entrada
  • 6. En la primera línea el número “P” que indica la cantidad de profesores que tiene la escuela donde 1<=P <= 100 y el número “n” que indica la cantidad de alumnos en la escuela donde 1<=n<=1000. en la siguiente línea habrán “n” números que representan el número de profesor favorito “F” de cada alumno donde 1<=F<=P. Salida Deberá haber “P” cantidad de líneas y en cada una dos números separados por un guión, el primer número será el número del profesor y el segundo número la cantidad de alumnos que lo eligieron. Consideraciones Tu programa se evaluará con varios casos de prueba. Entrada Salid a Descripci ón 4 10 1 1 2 1 1 2 3 2 3 4 1-4 2-3 3-2 4-1 Case #1: 4 8 1 2 4 1 2 4 1 2 1-3 2-3 3-0 4-2 Case #2: #include<iostream> using namespace std; int main (){ int n,m; cin>>n; cin>>m; int a[m]; int p[n]={0}; for(int i=0;i<m;i++){ cin>>a[i]; } for(int j=0;j<m;j++){ p[a[j]-1]++; } for (int i=0;i<n;i++){ cout<<i+1<<" - "<<p[i]<<endl; } return 0; }
  • 7. ∞ Sumando Problema Se tiene un matriz cuadrada de tamaño “n” y se requiere saber cuánto suma cada columna. Entrada En el primer renglón un valor “n” indicando el tamaño de la matriz donde1<=n<=1000 y en los siguientes “n” renglones habrán “n” valores correspondientes los valores de cada renglón de la matriz donde 1<=V<= 1000. Salida Un renglón con “n” cantidades, cada cantidad representa la sumatoria de cada columna de la matriz, el primer valor correspondeala columna1, el segundo a la columna 2 ,... y el último valor corresponde a la columna “n”. Consideraciones Tu programa se evaluará con varios casos de prueba Ejemplo s Entrada Salida Descripci ón 3 1 2 3 3 5 6 7 8 9 11 15 18 Case #1: 4 3 2 4 3 2 3 3 2 7 8 5 3 1 1 1 1 13 14 13 9 Case #2: #include<iostream> using namespace std; int main (){ int n; cin>>n; int a[n][n];
  • 8. int b[n]{0}; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ cin>>a[i][j]; b[j]+=a[i][j]; } } for(int j=0;j<n;j++){ cout<<b[j]<<" "; } cout<<endl; } ∞ Ordenando Problema Dada una lista de números enteros hay que determinar si la lista esta ordenada de menor a mayor, de mayor a menor o sencillamente no está ordenada. Entrada En la primera línea un valor “n” indicando la cantidad de valores que conforma la lista, donde 3<=n<=1000, en la segunda línea los “n” números separados por un espacio, cada número está en el rango de 1 a 1,000,000,000. Salida Una sola línea con 3 posibles valores, si la lista está ordenada de menor a mayor debes escribir la palabra “CRECIENTE” si la lista esta ordenada de mayor a menor debes escribir la palabra “DECRECIENTE” y si la lista no esta ordenada debes escribir la frase “NO ORDENADA”. Te aseguramos que no existe un caso con posibilidad de empate (que pueda ser creciente y decreciente). Consideraciones Ejemplos Entrada Salida Descripci ón
  • 9. Tu programa se evaluará con varios casos de prueba #include <iostream> using namespace std; int main() { int n,f=0,de=0; cin>>n; int*g=new int [n]; for )int l=0; l<n; l++) { cin>>g[l]; } for(int l=0;l<n;l++){ if(g[l]<g[l+1]){ f++; } if(g[1]>g[l+1[){ de++; } } if(f==n){ cout<<"creciente"; }else if(de==n-1){ cout<<"decreciente"; } else{ cout<<"no ordenado"; } return 0; } 5 10 20 30 40 40 CRECIENTE Case #1: 3 3 2 2 DECRECIENTE Case #2: 4 1 10 10 5 NO ORDENADA Case #3:
  • 10.
  • 11. ∞ Password Descripción Para que un password sea seguro debe seguir las siguientes reglas: Tener al menos una vocal. No tener dos o más caracteres consecutivos iguales. Tener una longitud de al menos 12 caracteres. Tener al menos un carácter numérico. Problema Escribe un que nos ayude a determinar si un password es seguro o no. Entrada En la primera línea un número n indicando la cantidad de caracteres que conforman el password, donde 1≤n≤100, en la siguiente línea n caracteres que pueden ser letras de la A a la Z, números del 1 al 9. las letras minúsculas y mayúsculas se consideran diferentes. Salida Si el password es seguro de acuerdo a las reglas establecidas debes escribir la palabra SEGURO en caso contrario debes escribir la frase INSEGURO. #include <iostream> using namespace std; int main() { int n,pass; cin>>n; for(int i=0;i<n;i++){ cin>>pass; } if(n<12){ cout<<"inseguro"; }else Ejemplos Entrada Salida 5 abcdd INSEGURO 12 aft156YTU5 12 SEGURO
  • 12. cout<<"seguro"; return 0; } ∞ A+B Descripción Este problema consiste en crear un programa que sume dos números. Entrada Dos números A y B separados por un espacio. Salida Imprime A+B Ejem plo Entra da Salida Descripció n 1 2 3 1+2=3 5 10 15 5+10=15 #include <iostream> using namespace std; int main() { int a,b,suma; cin>>a; cin>>b; suma=a+b; cout<<suma<<endl;
  • 13. return 0; } ∞ Mensaje Sumas Descripción Es un problemamuy simple, para acostumbrarse a los jueces automáticos, lo que tienes que hacer es recibir dos númerosy con estos dos números los sume y muestre la salida indicando el mensaje de la suma como se muestra en el ejemplo. Entrada Un número entero a y un número entero b. Salida Debe mostrar el siguiente mensaje donde a y b debe sustituirse por los valores que recibe como entrada el programa y la palabra resultado por la suma de ambos numeros, asegurate de respetar mayúsculas y minúsculas y los espacios en blanco intermedios. La suma de a + b es resultado Ejemplo Entrada Salida 1 2 La suma de 1 + 2 es 3
  • 14. #include <iostream> using namespace std; int main() { int a,b,suma; cin>>a; cin>>b; suma=a+b; cout<<"la suma de "<<a<<" + "<<b<<" es "<<suma<<endl; return 0; } ∞ H. Día de la semana Descripción Se esta programando un robotque apartir de que le indiquesun número te dira que día de la semanaes pero el robot tiene un problemael puederecibir un número del del 1 al 7 y dirá el día de la semana correspondiente(donde el 1 es el día lunes),pero si recibe un número incorrecto el robot manda un mensaje de error, pero se ha descubierto que el robot cuando introduces el número tiene un error por que el programador del robot uso la siguiente formula que se le aplica al número que introduce 2n+1 y apartir de aqui indica el día, es decir si el usuario introduce un 1 el resultado será Miercoles. Entrada 1 Salida Miércoles Entrada 8 Salida Error Notas El usuario puedeintroducir indefinidamentenúmerosy tu programa debe ser capaz de controlar esto. ||end
  • 15. #include <iostream> using namespace std; int main() { int n,dia; cin>>n; dia=(2*n)+1; switch(dia) { case 1:cout<<"lunes"<<endl; break; case 2:cout<<"martes"<<endl; break; case 3:cout<<"miercoles"<<endl; break; case 4:cout<<"juevez"<<endl; break; case 5:cout<<"viernes"<<endl; break; case 6:cout<<"sabado"<<endl; break; case 7:cout<<"domingo"<<endl; break; default:cout<<"error"<<endl; break; } return 0; } ∞ Multiplicando Descripción
  • 16. Se requiere que realices un un cálculo a partir de recibir un número, entregar el producto delos númerosconsecutivos del 1 a n, por ejemplo si recibes el 3 el resultado es 6, es decir el resultado de multiplicar 1×2×3. Entrada Un único entero n. Salida La multiplicación de los números consecutivos del 1 al n. Límites 0≤n≤20 Ejempl o Entrad a Sali da 5 120 #include <iostream> using namespace std; int main() { int n,fac=1; cin>>n; for(int i=1;i<=n;i++) { fac*=i; } cout<<fac; return 0; } ∞ Misión Calcular Área Descripción Tu misión si decides aceptarla es encontrar el área de un cilindro, cuya formula como bien sabes es 2PIr*h donde PI es 3.1416 y r:representa el radio y h:la altura. pero cuidado por que no estan sencillo resolver el problema el resultado lo debes entregar con 2 cifras decimales despues del punto.
  • 17. Entrada 1 2 Salida 12.57 Notas El primer número que recibes es el radio y el segundo número es la altura. La misión aunque parecia muy sencilla, se va a complicar por que si el primer número que lees es el -1 debes ignorarlo y en seguida leer el radio y posteriormente la altura. ||end #include <iostream> #include<math.h> #include<stdio.h> #include<iomanip> using namespace std; int main() { float r,h,area,pi=3.1416; double total; cin>>r; if(r>=1){ cin>>h; area =(2*pi)*r; total=area*h; cout<<fixed<<setprecision(2)<<total; }else if(r<1){ cin>>r; cin>>h; area=(2*pi)*r; total=area*h; cout<<fixed<<setprecision(2)<<total; } return 0; }
  • 18. ∞ Cuadrado Descripción. A continuación te mostramos un giro de 90 grados a la derecha de una matriz de 2 por 2 cuyos valores son: Matriz original 1 2 3 4 Matriz Girada 90° a la derecha 3 1 4 2 Problema Dada una matriz cuadrada de tamaño “n” , debes hacer que tu programa la gire 90 grados a la derecha. Entrada En la primera línea el valor “n” indicando el tamaño de la matriz donde 1<=n<=1000, en los siguientes “n” renglones habrán “n” valores de la matriz separados por un espacio. Salida “n” renglones cada renglón con "n" valores mostrando la matriz girada 90 grados. Consideraciones Tu programa se evaluará con varios casos de prueba Ejempl o Entrad a Salida Descripción 2 1 2 3 4 3 1 4 2 Case #1: Entrad a Salida Descripción 3 1 2 3 4 5 6 7 8 9 7 4 1 8 5 2 9 6 3 Case #2: #include <iostream> using namespace std; int main() { int p,n,c,m=0,mc=0; cin>>p>>n; for(int i=0; i<n;i++){ cin>>c; m+c;
  • 19. } mc=p-m; if(m>p){ cout<<0; }else cout<<mc<<endl; return 0; } ∞ Bardeando Descripción Se tiene un conjunto de “n” trozos de malla ciclónica y un terreno de perímetro “P” el terreno es cuadrado. Problema Debes escribir un programa que nos diga cuántos metros de malla ciclonica nos hace falta para poder bardear el terreno. Entrada En la primera línea dos números “P” y "n", donde "P" representa el perímetro del terreno con un rango de valores de1<=P <= 2,000,000,000 y “n” representa la cantidad de trozosde malla ciclónica que tenemos, donde 1<=n<=100,000. En las siguientes “n” líneas es el tamaño de cada trozo de malla que tenemos. La suma de todos los trozos siempre será menor a 2147483648. Salida Un único valor entero indicando los metros de malla que nos hacen falta para bardear el terreno. Ejempl os Entrad a Salida Descripció n 100 3 25 20 45 Caso #1 Entra da Salida Descripción 10 100 2 1000 2000 0 Caso #2 21 1 20 1 Caso #3 Consideraciones
  • 20. Tu programa se ejecutara con varios casos de prueba. int main(){ int P,n,c,m=0,Cachofaltante=0; cin>>P>>n; for (int i=0;i<n;i++){ cin>>c; m+=c; } Cachofaltante=P-m; if(m>P){ cout<<0; }else cout<<Cachofaltante<<endl; } ∞ Matriz Cuadrada Descripción Descripción Tenemos una matriz de “R” renglones por “C” columnas, donde podemos enumerar las casillas de la siguiente manera, la casilla 1,1 (renglón 1, columna 1), la casilla 1,2 (renglón 1, columna 2) y la casilla 1,3 (renglón 1, columna 3 ) serían respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura, donde la casilla 1,1 es la esquina superior izquierda y la celda “R” x “C” es la celda ubicada en la esquina inferior derecha.
  • 21. En esta cuadrícula, podemoshacer preguntas de la forma, ¿que número está en la casilla 1,2 ? y su respuesta sería 2 otro ejemplo ¿qué número está en la celda 2,3? y su respuesta es 6. Problema Escribe un programaque dadalas dimensionesdela cuadrícularesponda una cantidad “P” de preguntas. Entrada En la primera línea dos valores indicando las dimensiones de la cuadrícula separados por un espacio ‘R’ cantidad de renglones donde 1<=R<=10000 y “C” cantidad de columnas donde 1<=C<=10000, En la tercera línea el número “P” cantidad de preguntasdonde1<=P<=10,000y en lassiguientes “P” líneas un par decoordenadasde la forma r, c, representando las coordenadas de cada pregunta en donde “r” indica el renglón 1<=r<=R y “c” la columna 1<=c<=C por cada pregunta. Salida Por cada pregunta debe escribir en cada línea el número de casilla que le corresponde. Consideraciones Tu programa se ejecutara con varios casos de prueba. Tip Tip Revise por cada renglón de preguntas cuántos valores debe avanzar, en la Entrada 1 para la primera pregunta debe avanzar 0, para la segunda debe avanzar 3 y para la tercer pregunta debe avanzar 6. Entr ada Sa lid a Descr ipció n 3 3 3 1 1 2 2 3 3 1 5 9 Caso #1 3 1000 2 2 1 2 10 10 01 20 10 Caso #2 #include<iostream> using namespace std; int main(){ int r,c,p,r1;
  • 22. cin>>r>>c>>p; int g[p][2]; for( int i=0; i<p;i++){ for( int j=0; j<2;j++){ cin>>g[i][j]; } } for(int f=0;f<p;f++){ r=((g[f][0]-1)*c)+g[f][1]; cout<<r<<" "; } } ∞ Área de un rectángulo Descripción Se te darà la base y la altura de un rectángulo, deberás desplegar su área. Entrada Dós números b y a Salida La salida deberá ser el área del rectángulo Ejemplo 12 5 60 2 7 14 #include <iostream> using namespace std; int main() { int b,a,area; cin>>b; cin>>a;
  • 23. area=b*a; cout<<area<<endl; return 0; } ∞ Área de un triángulo Descripción Se te dará la base y la altura de un triángulo, deberás desplegar su área. Entrada Dós números b y a Salida La salida deberá ser el área del triángulo con dos decimales después del punto. Ejem plo 12 5 30.0 0 #include <iostream> #include<math.h> #include<stdio.h> #include<iomanip> using namespace std; int main() {
  • 24. float b,a; double area; cin>>b; cin>>a; area=(b*a)/2; cout<<fixed<<setprecision(2)<<area; return 0; } ∞ Ordena a los alumnos Descripción Los Chicos de la escuela van a recibir un premio, pero tienen que estar formados de la calificacion mayor a la menor, ya que el Profe Rayito quiere orden y dar el mejor premio a la mejor calificacion, y asi sucesivamente. Entrada Primero hay que pedir la cantidad de Alumnos y despues las calificaciones Salida mostrar las calificaciones ordenadas del mayor al menor Ejemplo Entrada Salida Descripción 4 75 82 100 50 100 82 75 50 Cantidad de alumnos, y en la segunda linea las calificaciones Límites
  • 25. No especificado #include <iostream> using namespace std; int main() { int n,aux; cin>>n; int a[n]; for(int i=0;i<n;i++) { cin>>a[i]; } for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(a[i]>a[j]) { aux=a[i]; a[i]=a[j]; a[j]=aux; } } } for(int i=0;i<n;i++) { cout<<a[i]<<" ";
  • 27. ∞ Obtener promedio Descripción EL maestro Melquiades quiere saber el promedio de calificaciones de su grupo, Por lo que tu como programador le ayudaras codificando un programita que le pida una cantidad de alumnos, y en seguida las calificaciones Entrada La cantidad de Alumnos y las "n" calificaciones en escala 0 al 100, sin decimales. Salida Mostrar el promedio con dos decimales. Ejemplo Entrada Salida Descripción 4 50 100 100 50 75.00 Pedir la Cantidad de alumnos, y las "n" calificaciones. Mostrar el promedio con dos decimales. Límites No especificado #include<iostream> using namespace std; int main () { int n,a,p=0; cin>>n; cout<<endl; for(int i=0;i<n;i++){ cin>>a; p+=a; } float prom=p/n; cout<<prom<<".00"<<endl; }
  • 28. ∞ T. Figuras Rectangulares Descripción Tenemos un conjunto de cuadrados y rectángulos cuyos medidas de sus diferentes lados son cantidades enteras y mayores a 1 y , si tenemos el área de la figura, es posible que sea un cuadrado o un rectángulo. Problema Construye un programa que nos ayude a resolver este problema (dada el área de una figura determinar si es cuadrado o rectángulo), la lectura la debes hacer de la entrada estándar (teclado) y la escritura se debe hacer a la salida estándar (pantalla). Entrada La primera línea contendrá un número "N" entre 1 y 1,000,000,000, representando el área. Salida Una sola línea indicando la figura que se puede formar, si el área puede formar un cuadrado debes imprimir la palabra “cuadrado” si el área puede formar un rectángulo, debes imprimir la palabra “rectangulo” y si el área puede formar ambos debe imprimir la palabra “ambos” (note no hay acentos ni mayusculas), en caso de que no se pueda formar un cuadrado o rectángulo escriba "ninguno" Consideraciones Tu programa se ejecutara con varios casos de prueba. Tips Área de un cuadrado = lado * lado Área de un rectángulo= (base * altura ) ¿Hasta que valor con respecto a “N” debo probar ?
  • 29. Observa que solo debes probar desde 2 hasta raíz de "N", si un número es divisible entre 2 significa que también es divisible entre N/2 por tanto si probamos con el numero 2, estamos al mismo tiempo probando con el numero N/2. Entra da Salida 9 cuadrad o 6 rectáng ulo 36 ambos #include <iostream> using namespace std; int main() { int n,raiz,rectangulo,cuadrado; cin>>n; raiz=sqrt(n); cuadrado=raiz*raiz; rectangulo=n/2*2; if(rectangulo ==n && cuadrado==n){ cout<<"ambos"; }else if(rectangulo==n){ cout<<"rectangulo"; }else if(cuadrado==n){ cout<<"cuadrado"; } else cout<<"ninguno"; return 0; } ∞ Triángulo Descripción Un triángulo es formado por 3 segmentos (con valor entero) de recta unidos por sus extremos, sin embargo no todas las combinaciones de 3 segmentos pueden formar un triángulo. Problema Escriba un programa que dados 3 números que representan 3 segmentos de rectas, diga si pueden formar un triángulo rectángulo. Entrada En la primera línea 3 números “a”, “b” y “c” representando las longitudes de 3 segmentos de recta en un rango de entre 1 y 32,000. Salida Una sola línea en dondesies posible generar un triángulo rectángulo debes imprimir la hipotenusa, el cateto mayor y el cateto menor y si no es posible formar un triángulo rectángulo imprime la palabra “imposible”. Consideraciones
  • 30. Tu programa se evaluará con varios casos de prueba, para cada caso de prueba (entrada) Ejempl os Entrad a Salida Descr ipció n 1 1 1 imposib le Caso #1 3 4 5 5 4 3 Caso #2 Consideraciones Tu programa se ejecutara con varios casos de prueba. Tips El teorema de Pitágoras la hipotenusa es igual a la raíz cuadrada de la suma de los cuadrados de sus catetos. ¿Es necesario hacer el cálculo de la raíz cuadrada? #include <iostream> using namespace std; int main() { float a,b,c; cin>>a>>b>>c; if(a<(b+c)&& b<(a+b)){ cout>>c>>" ">>b>>" ">>a>>endl; }else cout>>"imposible"; return 0; } ∞ Suma Triple Descripción Se tiene la siguiente función f(n), formada por la suma de los tres números anteriores. f(1)=1 f(2)=1 f(3)=2 f(4)=4 f(5)=7 f(6)=13 f(7)=24 f(8)=44
  • 31. f(9)=81 Note que f(1)= 1 ya que no tiene númerosanteriores, f(2)=1 ya que es el único número anterior, f(3) tiene solo 2 númerosanterioresy a partir de f(4) se da la suma de los tres números anteriores. Problema Escribe un programa que dado el valor de “n” escriba la serie correspondiente. Entrada Un solo renglón conteniendo el valor “n”donde 1<=n<=64. Salida Una sola línea mostrando la serie desde el número menor hasta el mayor cada número debe estar separado por un espacio. Tips Un entero 32 bits es capaz de almacenar la f(n) para n=60 #include<iostream> using namespace std; int main() { int i,n,m,c,a,g,suma=0; cin>>i>>n>>m; for(i=0;i<m;i++) { cin>>c; suma+=c; } a=n-suma; g=a+i/n; cout<<g; return 0; } Entrad a Salida Descripció n 4 1 1 2 4 Caso #1 6 1 1 2 4 7 13 Caso #2 9 1 1 2 4 7 13 24 44 81 Caso #3
  • 32. ∞ Deuda 2 Descripción Nuestro amigo Cope tiene un problema pues le debe algunas cosas a cierta persona con la cual no puede quedar mal, sin embargo dicha persona es muy mala con Cope y trata de hacer que le pague más de lo que le debe, para esto le dice que los intereses han subido y pone mil cosas para cobrar de más pero del unico interes que se hablo fue al momento de comenzar la transacción. Ayuda a Cope a llevar un buen control de su deuda sabiendo cuanto debe y cuanto abona, se sabe que originalmente se indico los intereses. Entrada En la primera línea tres números enteros I, N, M separados por un espacio representando el interes acordado(número entero que representa el interes) inicialmente, número de cosas que debe Cope y los pagos que hará respectivamente. Siguiente M líneas un entero representando el pago de Cope. Salida Un entero representando como finaliza la cuenta de Cope. Ejemplo Entrada Salida Descripción 0 10 2 3 6 1 Ninguna. Entrad a Salida Descripci ón 100 10 2 3 6 11 Ninguna. #include <iostream> using namespace std; int main (){ int i,n,m,c,a,g,suma=0; cin>>i>>n>>m; for(int i=0;i<m;i++){ cin>>c; suma+=c; } a=n-suma; g=a+i/n; cout<<g;
  • 33. return 0; int main() { for(int n=10;n>=0;n--){ cout<<n<<endl; } } ∞ Mayor número Descripción Pondrás una serie de números y el resultado será el mayor número Entrada y salida #include <iostream> using namespace std; int main() { int n,p,mayor=0; cin>>n; for(int i=1;i<n;i++){ cin>>p; if(p>mayor) mayor=p; } cout<<"mayor"<<mayor<<endl; } ∞ Par e Impar Descripción Una serie de números te dirá si es impar o par Entrada y salida #include <iostream>
  • 34. using namespace std; int main() { for (int i=1;i<=100;i++){ if(i%2==0){ cout<<i<<"par"<<endl; } else{ cout<<i<<"impar"<<endl; } }