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 flipmartinz13
      Alguém pode me ajudar nessa questão de C++? não estou conseguindo construir o algorítmo corretamente.

      5.92)    Faça um algoritmo que leia a matrícula, nome, sexo e três notas dos alunos de uma escola e obtenha os seguintes resultados:
      a) A matrícula da aluna que obteve a maior média.
      b) A matrícula do aluno que obteve a menor média.
      c) O percentual de mulheres na turma.
      d) Quantos alunos foram aprovados, independente do sexo.
      e) O percentual de alunas aprovadas.
      Obs.: o flag é uma matrícula igual a 0 (zero).
    • By flipmartinz13
      Estou tentando fazer esse exercício de introdução a programação em C++, e estou tendo dificuldades para criar os algoritmos. Alguém poderia me ajudar?


      Uma agência de turismo quer fazer um levantamento das praias da cidade para um programação turística de verão, sabendo-se que cada praia tem um nome e uma distância (em Km) do hotel. Criar um algoritmo que forneça os seguintes dados:
      18

       Porcentagem de turistas nas praias próprias do hotel
       A praia mais adiante
       Nome e distancia das praias não-próprias com distancia do hotel maior que 10 km.
      O algoritmo acaba quando se digita @ para nome da praia.
    • By danisj
      #include<iostream>
      using namespace std;
      int BuscaBin (int lista[], int baixo, int alto, int chave)
      {
          int central;
          int valorcentral;
          while (baixo <= alto)
          {
              central = (baixo + alto)/2;
              valorcentral = lista[central];
              if (chave == valorcentral)
                  return central;
              else if (chave < valorcentral)
                  alto = central -1;
              else
                  baixo = central + 1;
          }
      }
      int main()
      {
          int a[10];
          int chave, pos;
          cout << "Introduza uma lista de 10 inteiros:";
          for (pos = 0; pos < 10; pos++)
              cin >> a[pos];
          cout << "Introduza chave a buscar:";
          cin >> chave;
          pos = 0;
          while ((pos = BuscaBin(a, 0, 9, chave))!= -1)
          {
              pos++;
          }
          cout << chave << " está na lista "  << " vezes na lista " << endl;
      }
          
      O objetivo é inserir uma lista e resultar  numa busca binária e ele retornar a chave, não posso alterar a função BuscaBin
    • By Matex5
      Sua tarefa é implementar uma árvore de busca binária que armazene strings. A ordem de inserção deverá ser alfabética crescente, ou seja, se o valor do elemento da raiz for “iguana”, então a palavra “beterraba” deverá ser inserida na subárvore da esquerda, enquanto a palavra “pagode” deverá ser inserida na subárvore da direita.
      Devem ser declaradas a struct e implementadas as seguintes funções da árvore:
      • criar(): inicialização da árvore.
      • buscar(): busca de um elemento na árvore.
      • inserir(): inserção de um elemento na árvore.
      • remover(): remove um elemento da lista.
      • estaVazia(): retorna um booleano indicando se a árvore está vazia.
      • ehEstritamenteBinaria(): retorna um booleano indicando se a árvore é estritamente binária.
      • ehQuaseCompleta(): retorna um booleano indicando se a árvore é quase completa.
      • ehCompletaCheia(): retorna um booleano indicando se a árvore é completa (cheia).
      • preOrdem(): visita e imprime os elementos da árvore em PRÉ-ORDEM (“RED”).
      • emOrdem(): visita e imprime os elementos da árvore EM-ORDEM (“ERD”).
      • posOrdem(): visita e imprime os elementos da árvore em PÓS-ORDEM (“EDR”). Após implementar a estrutura de dados, escreva um programa em C/C++ que permita ao usuário executar as funções acima

    • By FineMustache
      Fiz um programa que calcula o reajuste de salário de 5 funcionários armazenando seus nomes e salários em vetores, porém o salário já reajustado aparece com o mesmo valor do salário original.
      /* Armazenar o nome e o salário de 5 funcionários. Após o cadastro destas informações, deverá ser digitado o índice de reajuste salarial para todos os funcionários. O programa deverá calcular o novo salário e exibir todos os dados na tela */ #include <iostream> #include <locale.h> #include <string> #include <string> #include <stdlib.h> #include <cstdlib> using namespace std; int main() { setlocale(0, "Portuguese"); system("color 0a"); system("MODE CON COLS=150 LINES=40"); string nomefunc[5]; double slfunc[5], slnovo[5]; int reaj, i; cout << "\n\tArmazenar o nome e o salário de 5 funcionários. Após o cadastro destas informações, deverá ser digitado o índice de reajuste salarial para todos os funcionários. O programa deverá calcular o novo salário e exibir todos os dados na tela"; cout << "\n\n\tDigite a porcentagem do reajuste (sem o sinal %): "; cin >> reaj; for (i=0; i<5; i++){ cout << "\n\n\tDigite o nome do funcionário: "; cin >> nomefunc[i]; cout << "\n\n\tDigite o salário de " << nomefunc[i] <<": "; cin >> slfunc[i]; slnovo[i] = slfunc[i] - slfunc[i] * (reaj / 100); } cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[0] << ") era de R$" << slfunc[0] << " e passará a ser de R$" << slnovo[0] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do segundo funcionário (" << nomefunc[1] << ") era de R$" << slfunc[1] << " e passará a ser de R$" << slnovo[1] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[2] << ") era de R$" << slfunc[2] << " e passará a ser de R$" << slnovo[2] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[3] << ") era de R$" << slfunc[3] << " e passará a ser de R$" << slnovo[3] << " com o reajuste de " << reaj << "%."; cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[4] << ") era de R$" << slfunc[4] << " e passará a ser de R$" << slnovo[4] << " com o reajuste de " << reaj << "%."; system ("PAUSE>NULL"); }  
×

Important Information

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