¡Muchas gracias durasno!, ahora funciona correctamente.
¡Saludos!
¡Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
char carrer[16];
char num[5];
char poblacio[16];
char codiPostal[5];
}adreca;
typedef struct{
char nom[11];
char cognom1[16];
char cognom2[16];
adreca dir;
int dni;
char sexe;
}persona;
int ordenar(const void *,const void *);
int main(void){
int n, i;
persona *v, *trobat, p, *ap;
printf("numero persones: ");
scanf("%d", &n);
if(n<1){ printf("no hi ha suficients persones\n"); exit(1); }
v = (persona *)malloc(n*sizeof(persona));
if(v==NULL){ printf("no hi ha memoria\n"); exit(1); }
for(i=0; i<n; i++){
scanf(" %s", v[i].nom);
scanf(" %s", v[i].cognom1);
scanf(" %s", v[i].cognom2);
scanf(" %s", v[i].dir.carrer);
scanf(" %s", v[i].dir.num);
scanf(" %s", v[i].dir.poblacio);
scanf(" %s", v[i].dir.codiPostal);
scanf("%d", &v[i].dni);
scanf(" %c", &v[i].sexe);
}
qsort(v,n,sizeof(persona *),ordenar);
printf("cognom a buscar: ");
scanf(" %s", p.cognom1);
ap = &p;
trobat = (persona *)bsearch(ap,v,n,sizeof(persona *), ordenar);
if(trobat==NULL){ printf("no s'ha trobat %s\n", p.cognom1); exit(1); }
printf("nom: %s\n", trobat->nom);
printf("primer cognom: %s\n", trobat->cognom1);
printf("segon cogmon: %s\n", trobat->cognom2);
printf("carrer: %s\n", trobat->dir.carrer);
printf("numero del carrer: %s\n", trobat->dir.num);
printf("poblacio: %s\n", trobat->dir.poblacio);
printf("codi postal: %s\n", trobat->dir.codiPostal);
printf("DNI: %d\n", trobat->dni);
if(trobat->sexe=='H') printf("sexe: home\n");
else printf("sexe: dona\n");
return 0;
}
int ordenar(const void *a1, const void *a2){
persona p1, p2;
int k;
p1 = *(persona *)a1;
p2 = *(persona *)a2;
k = strcmp(p1.cognom1,p2.cognom1);
if(k!=0) return k;
return p1.dni - p2.dni;
}
#include <stdio.h>
int main(void){
int a, b, q, r, a1, b1;;
printf("a: ");
scanf("%d", &a);
do{
printf("b: ");
scanf("%d", &b);
}while(!b);
a1=a; b1=b;
q = a/b;
r = a-b*q;
printf("%d = (%d)(%d)+%d\n", a, b, q, r);
while(r){
a = b;
b = r;
q = a/b;
r = a -b*q;
printf("%d = (%d)(%d)+%d\n", a, b, q, r);
}
printf("\n\tMaxim comu divisor: %d\n", b);
printf("\tMinim comu multiple: %d\n", (a1*b1)/b);
return 0;
}
#include <stdio.h>
int main(void){
int n, i, j, k, cont[11]={0}, contador=0, posicio=0;
char par[20][11];
do{
printf("introduiu n: ");
scanf("%d", &n);
}while(n<0 || n>11);
printf("introduiu les %d paraules: ", n);
for(i=0; i<n; i++) scanf(" %[^\n]s", par[i]);
for(i=0; i<n; i++){
for(j=i+1; j<=n; j++){
for(k=0; par[i][k]!='\0' && contador==0; k++) if(par[i][k]!=par[j][k]) contador++;
if(contador==0 && par[j][k]=='\0') cont[i]++;
contador=0;
}
}
for(i=0; i<n; i++){
if(cont[i]>contador){
contador = cont[i];
posicio = i;
}
}
if(contador!=0) printf("\nLa paraula que mes es repeteix es: %s\n", par[posicio]);
else printf("no es repeteix cap paraula\n");
return 0;
}
#include <stdio.h>
int main(void){
int n, i, contador[11]={0};
char palabras[20][11];
do{
printf("introducir n (menor que 12): ");
scanf("%d", &n);
}while(n<0 || n>11);
printf("introducir la secuencia de n palabras: ");
for(i=0; i<n; i++) scanf("%[^\n]s", palabras[i]);
Citarv[i-1]==0
for(i=1; i<=n-1; i++){
while((polin_n[i]+polin_m[i])==0 && i<n) i++;
printf(" %+g%s", polin_n[i]+polin_m[i], x[i-1]);
}
if((polin_n[i]+polin_m[i])!=0){
printf(" %+g%s\n", polin_n[i]+polin_m[i], x[i-1]);
}else{
printf("\n");
}
#include <stdio.h>
int main(void){
int n, m, i;
float polin_n[10]={0}, polin_m[10]={0};
char x[9][4]={{"x"},{"x^2"},{"x^3"},{"x^4"},{"x^5"},{"x^6"},{"x^7"},{"x^8"},{"x^9"}};
do{ /*introduccion de datos*/
printf("introducir el grado de p(x): ");
scanf("%d", &n);
}while(n<0 || n>10);
for(i=0; i<=n; i++){
scanf("%f", &polin_n[i]);
}
do{
printf("introducir el grado de q(x): ");
scanf("%d", &m);
}while(m<0 || m>10);
for(i=0; i<=m; i++){
scanf("%f", &polin_m[i]);
}
if(polin_n[0]!=0){ /*imprimir el primer polinomio*/
printf("\np(x) %+g", polin_n[0]);
i=1;
}else{
i=0;
}
for(i=i; i<=n; i++){
while(polin_n[i]==0) i++;
printf(" %+g%s", polin_n[i], x[i-1]);
}
if(polin_m[0]!=0){ /*imprimir el segundo polinomio*/
printf("\nq(x) %+g", polin_m[0]);
i=1;
}else{
i=0;
}
for(i=i; i<=m; i++){
while(polin_m[i]==0) i++;
printf(" %+g%s", polin_m[i], x[i-1]);
}
if(m>n) n=m; /*imprimir la suma del los polinomios*/
printf("\n\nsuma: %+g", polin_n[0]+polin_m[0]);
for(i=1; i<=n; i++){
while((polin_n[i]+polin_m[i])==0) i++;
printf(" %+g%s", polin_n[i]+polin_m[i], x[i-1]);
}
printf("\n");
return 0;
}