Olá,estou tentando fazer 2 exercícios de strings,fiz os 2,fiz o teste de mesa e me parece estar tudo ok, porem quando vou executa-los não da certo.Não consegui encontrar a falha.
1- Faça um programa para ler uma lista de 10 nomes e escreve-los em ordem alfabética.
Código:
2 - Faça um programa para ler duas listas de 5 nomes em cada lista, e escrever os nomes que aparecem em ambas as listas.
código:
1- Faça um programa para ler uma lista de 10 nomes e escreve-los em ordem alfabética.
Código:
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char nome[10][25],aux[25];
int i,j;
printf("Escreva 10 nomes:\n");
for(i=0;i<10;i++)
scanf("%s",nome[i]);
for(i=0;i<10;i++){
for(j=0;j<10;j++){
if(strcmp(nome[j],nome[j+1])>0)
strcpy(aux,nome[j]);
strcpy(nome[j],nome[j+1]);
strcpy(nome[j+1],aux);
}
}
for(i=0;i<10;i++)
printf("%s",nome[i]);
system("pause");
}
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char nome[10][25],aux[25];
int i,j;
printf("Escreva 10 nomes:\n");
for(i=0;i<10;i++)
scanf("%s",nome[i]);
for(i=0;i<10;i++){
for(j=0;j<10;j++){
if(strcmp(nome[j],nome[j+1])>0)
strcpy(aux,nome[j]);
strcpy(nome[j],nome[j+1]);
strcpy(nome[j+1],aux);
}
}
for(i=0;i<10;i++)
printf("%s",nome[i]);
system("pause");
}
2 - Faça um programa para ler duas listas de 5 nomes em cada lista, e escrever os nomes que aparecem em ambas as listas.
código:
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char nom[10][25],nom2[10][25],aux[10][25];
int i,j,iaux;
printf("Digite os nomes da lista 1:\n");
for(i=0;i<10;i++)
scanf("%s",nom[i]);
printf("Digite os nomes da lista 2:\n");
for(i=0;i<10;i++)
scanf("%s",nom2[i]);
iaux=0;
for(i=0;i<5;i++){
for(j=0;j<5;j++)
if(strcmp(nom[i],nom2[j])==0){
iaux++;
strcpy(aux[iaux],nom[i]);
}
}
for(i=0;i<10;i++)
printf("%s\n",aux[i]);
system("pause");
}
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char nom[10][25],nom2[10][25],aux[10][25];
int i,j,iaux;
printf("Digite os nomes da lista 1:\n");
for(i=0;i<10;i++)
scanf("%s",nom[i]);
printf("Digite os nomes da lista 2:\n");
for(i=0;i<10;i++)
scanf("%s",nom2[i]);
iaux=0;
for(i=0;i<5;i++){
for(j=0;j<5;j++)
if(strcmp(nom[i],nom2[j])==0){
iaux++;
strcpy(aux[iaux],nom[i]);
}
}
for(i=0;i<10;i++)
printf("%s\n",aux[i]);
system("pause");
}
Comment