Jump to content
alexkbw

armazenar uma palavra em uma lista encadeada

Recommended Posts

ola, preciso de ajuda

estou aprendendo C++ 

e nao consigo criar uma lista encadeada que armazene palavras

segue o codigo:

 

// listaEncadeada.cpp : Este arquivo contém a função 'main'. A execução do programa começa e termina ali.

#include "pch.h"
#include "conio.h"
#include "string"
#include<iostream>

using namespace std;
struct lista
{
	char c;
	int n;
	struct lista*p;
};
struct lista * inserirn(char,int);
struct lista * prim;

void inserir()
{
	char c;
	int n;
	printf("\ninforme uma cor :");
	scanf_s("%s", &c);
	printf("\ninforme um numero:");
	scanf_s("%d", &n);
	
	inserirn(c,n);
}

struct lista * inserirn(char c,int n)
{
	struct lista *novo, *aux;
	novo = (struct lista*)malloc(sizeof(struct lista));
	if (novo!=NULL)//caso nao aja memoria
	{
		novo->n= n;
		novo->c = c;
		novo->p = NULL;
		if (prim==NULL)
		{
			prim = novo;
		}
		else
		{
			aux = prim;
			while (aux->p != NULL)
			{
				aux = aux->p;
			}
				aux->p = novo;
		}
	}
	return novo;
}
int main()
{
	prim = NULL;
	inserir();
	inserir();
	inserir();
	
	_getch();
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By christin cley
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By Manoel Calonga
      Olá Pessoal.. Estou fazendo um programa para ajudar a empresa aonde trabalho.
      O programa precisa ler um aruquivo (.xxl), e executar um programa de conversão.
      Consegui fazer com que leia os arquivos da pasta e carrega em um FiliListBox e
      com botão de Executar ele converte o arquivo selecionado.
      O que acontece é que ele transforma somente um arquivo, mesmo tendo selecionado todos os arquivos da pasta.
      eu gostaria que ele pulasse para o próximo item selecionado e também fizesse a conversão.
      Qualquer ajuda é bem vinda, desde já agradeço.!
    • By vinicius.benedito98
      Faça um Programa em Linguagem C que receba o nome e a nota de 180 alunos de uma sala e armazene em vetor. Calcule e mostre: 
      - A média da sala; 
      - O nome do aluno com a maior nota; 
      - O nome do aluno com a menor nota; 
      - Os nomes dos alunos aprovados;

      O meu código é esse :

      #define N 180 
      int main() { 
      int i, ind_maior, ind_menor; 
      float nota[N], soma=0, media, min_aprov=7; 
      char nome[N][50]; 
      for (i=0; i printf("Informe o nome do %dº aluno: ", i+1); 
      gets(nome); 
      printf("Informe a nota do %dº aluno: ", i+1); 
      scanf(" %d ", &nota); 
      soma += nota; 

      media = soma / N; 
      printf("\nMédia da sal: %.2f\n", media); 
      ind_menor = ind_maior = 0; 
      for (i=1; i if (nota < nota[ind_menor]) 
      ind_menor = i; 
      if (nota > nota[ind_maior]) 
      ind_maior = i; 

      printf("Menor nota: %s com %.2f\n", nome[ind_menor], nota[ind_menor]); 
      printf("Maior nota: %s com %.2f\n", nome[ind_maior], nota[ind_maior]); 
      printf("Aprovados:"); 
      for (i=0; i if (nota >= min_aprov) 
      printf("\t%s com: %.2f\n", nome, nota); 

      return 0; 
      }


      Porém quando vou executa-lo, o programa pede para inserir o nome e nota do aluno apenas uma vez, e fica por isso, ele não exibe os resultados, alguém pode me ajudar ?
    • By Vitor Dória
      Pessoal,estou fazendo uma serie de exercícios em c++ e to me batendo muito em um exercício aqui,poderiam me ajudar?
       
       
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By matheusxds12
      Gostaria de saber qual o problema com o meu código pois ao compilar e executar ele simplesmente abre o DOS e fecha sem realizar nenhuma tarefa 
      #include <stdlib.h> #include <stdio.h> #include <locale.h> // aux1 = contador de coluna e aux2 = contador de linha int main () { setlocale(LC_ALL, "portuguese"); int m1, n1, m2, n2, matriz1[m1][n1], matriz2[m2][n2],matrizsoma[m1][n1],aux1,aux2,elemento,contadorlinha=0; printf("Entre com o número de linhas da 1ª matriz : "); scanf("%i",&m1); printf("Entre com o número de colunas da 1ª matriz : "); scanf("%i",&n1); printf("Entre com o número de linhas da 2ª matriz : "); scanf("%i",&m2); printf("Entre com o número de colunas da 2ª matriz : "); scanf("%i",&n2); if ((m1==m2) && (n1==n2)){ for (aux2 = 0;aux2<m1;aux2++){ for (aux1=0;aux1<n1;aux1++){ contadorlinha=aux1+1; printf("Matriz A:"); printf("Entre com os elementos um a um, separados por espaço da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz1[aux2][aux1]=elemento; } } for (aux2 = 0;aux2<m2;aux2++){ for (aux1=0;aux1<n2;aux1++){ contadorlinha=aux1+1; printf("Matriz B:"); printf("Entre com os elementos um a um, separados por espaço, da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz2[aux2][aux1]=elemento; } } for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ matrizsoma[aux2][aux1]=matriz1[aux2][aux1]+matriz2[aux2][aux1]; } } printf("Matriz C = A + B:\n"); for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ printf("%i",matrizsoma[aux2][aux1]); } printf("\n"); } } else{ printf("\nParâmetros das matrizes inválidos para a soma!\n"); printf("Ambas devem ter o mesmo número de linhas e colunas\n"); } system("pause"); return 0; }  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.