#include <stdio.h>#include <math.h>#include <string.h>#define MAX 3int main(){int num, cont[MAX], i;for(i= 0 ; i<MAX ; i++){cont[i]= 0;scanf("%d", &num);while(num != -1){if((num >= 0) && (num <= MAX)){cont[num]++;scanf("%d", &num);}}for(i= 0 ; i<3 ; i++){printf("nContador[%d]= %dn", i, cont);}}return 0;}
#include <stdio.h>#include <math.h>#include <string.h>#define MAX 3int main(){int num, cont[MAX], i;scanf("%d", &num);while(num >= 0 && num <= 2){if((num >= 0) && (num <= 2)){cont[num]++;scanf("%d", &num);}}for(i= 0 ; i<2 ; i++){printf("nContador[%d]= %dn", i, cont);}return 0;}
Hola chicos como estan?bueno ya que esta semana practique el uso basico de las estructuras For y While, se me ocurrio postear un ejercicio sencillo realizado con las mismas. Abajo puse las diferencias que hay entre el uso de una u otra estructura.El ejercicio es el siguiente:- Se pide ingresar 5 numeros y calcular su media.Usando For #include<stdio.h> #include<conio.h>void main (void) { float contar, suma=0,num, prom; clrscr(); for (contar=0;contar<5;contar++){ printf ("Ingrese un Nº %f =", contar+1); scanf ("%f", &num); suma=suma+num; } prom=suma/5; printf("\n\n El promedio es: %f", prom); printf ("\n Presione una tecla para salir:");getche(); } Usando While#include<stdio.h>#include<conio.h> void main (void) { float contar=0, suma=0,num, prom; clrscr (); while (contar<5) { printf ("Ingrese un N§ %f = ",contar+1); scanf ("%f",&num); suma=suma+num; contar=contar+1; } prom=suma/5; printf ("\n\nEl promedio es = %f", prom); printf ("\nPresione una tecla para salir:"); getche(); }Nota:- Resalte en negrita las diferencias entre ambas estructuras.Diferencias:1) Cuando se declaran las variables, la estructura For no necesita que inicializemos la variable contador que en nuestro ejercicio se llama contar, ya que:For (valor inicial; condicion;incremento o decremento) { sentencias }Valor inicial: es donde justamente inicializamos el contador. Por ej:b=0.Condicion: aqui ponemos el limite del contador. Por ej: b<10.Incremeto o decremento: es incremento o decremento del contador.Por ej: b++ (o b=b+1).2) En el While el incremento o decremento del contador se debe escribir en donde se escriben las sentencias While (condicion) {sentencia1 sentencia2 sentencian incremento o decremento del contador (p.e u=u+1) } Condicion: aca se pone el limite del contador ej: h<10
#include <stdio.h>#include <math.h>#include <string.h>#include <conio.h> // para uso del getch()#define MAX 3int main(){int num, cont[MAX], i;// Inicializar el arrayfor(i= 0 ; i<MAX ; i++){cont[i]= 0; }printf("Para salir ingrese numero: -1\n"); // el "\n" sirve como salto de linea printf("nUMERO: ");scanf("%d", &num);while(num != -1){if((num >= 0) && (num < MAX)){ //Condicion que incrementara en unocont[num]++; } // a la posicion del array si se culmple la condicionprintf("nUMERO: ");scanf("%d", &num);}for(i= 0 ; i<3 ; i++){printf("Contador[%d]= %d \n", i, cont[i]);}getch(); // Pausa hasta presionar alguna teclareturn 0;}
#include <iostream>using namespace std; int contar(int t[], int n){ int cont[]={0,0,0}; for(int i=0;i<n;i++) if((t[i]<=3)&&(t[i]>=1)) cont[(t[i]-1)]++; for(int i=0;i<3;i++) cout<<i+1<<"\t"<<cont[i]<<endl; } void generar(int n){ system("cls"); int t[n]; for(int i=0;i<n;i++) cin>>t[i]; //t[i]=rand()%3 + 1; si quieres que se genere aleatorio, el %3 + 1 es para que genere un numero entre 1 y 3 si cambias el 3 por 8 lo genera entre 1 y 8 contar(t,n); } int main(){ int n; cout<<"tamano del vector a crear: "<<endl; cin>>n; generar(n); system("pause"); return 0; }