Cool C/C++

Programacion en C/C++

Home Foros
Bienvenido, Invitado
Por favor Identificarse o Registrarse.    Contraseña olvidada?

Programa en lenguaje c(Arreglos), ayuda.
(1 viendo) (1) Invitado
AbajoPágina: 1
TEMA: Programa en lenguaje c(Arreglos), ayuda.
#16
Programa en lenguaje c(Arreglos), ayuda. Creado el día: 28/03/2011 22:52 Karma: 0
Hola, ncesito hacer varios progrmas, por separado o juntos no importa.

Deespues de haber dado nombres y apellidos N cantidad de veces:

1.Imprima Cuantos nombres terminan en la letra [a].
2.Imprima Cuantos apellidos empiezan con la letra[p].
3.Imprima Cuantos apellidos terminan con [z].
4.Imprimir solamente la longitud de cada nombre.
5.imprimir solamente la longitud de cada apellido.
6.Imprima el total de letras [a], que tiene cada nombre y apellido
7.Imprama en que casilla se encuentra la tercera [a] en todo el arreglo.


Pude realizar el numero 3, porfavor necesito ayuda urgente, si alguien me ayuda porfavor

El copilador que ocupo en codeblocks.

#include<stdio.h>
#define N 3
main()
{
char k[N][30],f;
int j,i,c=0;
for (i=0;i<N;i++)
{
printf("DE SU NOMBRE Y SU APELLIDO ");
scanf(" %[^\n]",k[i]);
for(j=0;j<30;j++)
{
if(k[i][j]=='\0')
{
f=k[i][j-1];
if(f=='z')
c++;
}
}
}
printf("\n%d apellido(s) terminan con la letra z\n",c);
}
koc
Navegador Iniciado
Mensajes: 15
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
 
#17
Re: Programa en lenguaje c(Arreglos), ayuda. Creado el día: 29/03/2011 08:52 Karma: 2
Te envío el punto 6:

#include<stdio.h>
#define N 3

main()
{
char k[N][30],f;
int j,i,c=0;
 
for (i=0;i<N;i++)
{
printf("DE SU NOMBRE Y SU APELLIDO ");
scanf(" %[^\n]",k[i]);
}
 
for (i=0;i<N;i++)
{
/* Punto 3 */
c = 0;
for(j=0;j<30;j++)
{
if(k[i][j]=='\0')
{
f=k[i][j-1];
if(f=='z')
c++;
}
}
printf("\n%d apellido(s) terminan con la letra z\n",c);
 
/* Punto 6 */
c = 0;
for(j=0;j<strlen(k[i]);j++)
{
if(k[i][j]=='a')
c++;
}
printf("\n%d letras a, en nombres y apellidos\n",c);
}
}
adrianvaca
Administrador
Mensajes: 110
graph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
El conocimiento es una forma de empezar a ser libre
 
#18
Re: Programa en lenguaje c(Arreglos), ayuda. Creado el día: 01/04/2011 15:04 Karma: 0
Considerando que tendrán un solo nombre y un solo apellido y que ambos deben estar presentes y separados por un espacio en blanco, podemos implementar lo siguiente.

1)
#include <stdio.h>
#include <string.h>

 
#define TAM 8

 
int main()
{
const char *nombres[TAM] = { "Pedro Diaz", "Ana Ponce", "Carla Lopez", "Jose Suarez",
"Miguel Garcia", "Angelica Meiggs", "Rita Castro", "Lucho Milla" };
register int i, cuenta = 0;
 
for ( i = 0; i < TAM; ++i ) {
char* ptr = strchr( nombres[i], ' ' );
char fin = *--ptr;
 
if ( fin == 'a' || fin == 'A' ) {
printf( "%s\n", nombres[i] );
++cuenta;
}
}
printf( "\n%d nombres terminan en a\n", cuenta );
 
return 0;
}
 

2) Análoga a la primera
#include <stdio.h>
#include <string.h>

 
#define TAM 8

 
int main()
{
const char *nombres[TAM] = { "Pedro Diaz", "Ana Ponce", "Carla Lopez", "Jose Suarez",
"Miguel Garcia", "Angelica Meiggs", "Rita Castro", "Lucho Milla" };
register int i, cuenta = 0;
 
for ( i = 0; i < TAM; ++i ) {
char* ptr = strchr( nombres[i], ' ' );
char inicio = *++ptr;
 
if ( inicio == 'p' || inicio == 'P' ) {
printf( "%s\n", nombres[i] );
++cuenta;
}
}
printf( "\n%d apellidos empiezan con p\n", cuenta );
 
return 0;
}
 

3)Sin usar strchr
#include <stdio.h>
#include <string.h>

 
#define TAM 8

 
int main()
{
const char *nombres[TAM] = { "Pedro Diaz", "Ana Ponce", "Carla Lopez", "Jose Suarez",
"Miguel Garcia", "Angelica Meiggs", "Rita Castro", "Lucho Milla" };
register int i, cuenta = 0;
 
for ( i = 0; i < TAM; ++i ) {
int longitud = strlen( nombres[i] );
char fin = nombres[i][ longitud - 1];
 
if ( fin == 'z' || fin == 'Z' ) {
printf( "%s\n", nombres[i] );
++cuenta;
}
}
printf( "\n%d apellidos terminan con z\n", cuenta );
 
return 0;
}
 

4)
#include <stdio.h>
#include <string.h>

 
#define TAM 8

 
int main()
{
const char *nombres[TAM] = { "Pedro Diaz", "Ana Ponce", "Carla Lopez", "Jose Suarez",
"Miguel Garcia", "Angelica Meiggs", "Rita Castro", "Lucho Milla" };
register int i, j;
 
for ( i = 0; i < TAM; ++i ) {
int cuenta = 0;
 
printf( "%s -> ", nombres[i] );
for ( j = 0; nombres[i][j] != ' '; ++j )
++cuenta;
printf( "%d\n", cuenta );
}
 
return 0;
}

Te quedaría sólo 2 por resolver.
Saludos.
eduar2083
Navegador Iniciado
Mensajes: 4
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
Última edición: 01/04/2011 15:08 por eduar2083.
El administrador ha deshabilitado la escritura pública.
 
ArribaPágina: 1
obtén los últimos mensajes directamente en tu escritorio