Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C] realizzazione di programma

    Salve a tutti,
    sto iniziando ad utilizzare il linguaggio C con il programma DEV++ per motivi di studio, mi trovo in difficoltà nella realizzazione del seguente programma e mi chiedevo se potevate darmi una mano:

    "Realizzare un programma per la gestione di una pila di stringhe. Data una stringa x da inserire, si procede all'effettivo inserimento se la pila è vuota o x ha lunghezza multipla di n, dove n è il numero di elementi della pila. altrimenti x non deve essere inserito, e devono essere cancellati m=min(n,k) elementi, dove k è la lunghezza di x. il programma deve consentire il salvataggio su file del contenuto della pila."

    grazie mille, aspetto vostre notizie,

    Matteo.

  2. #2
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Iniza tu con lo scrivere codice e probabilmente se hai qualche tipo di problema specifico possiamo aiutarti.

    La tua mi sembra piu' una richiesta di soluzione all'intero esercizio.

  3. #3
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    aspetti nostre notizie o aspetti che te lo facciamo?
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Dai Matteo ... prova a metterci un po' di impegno ...

    Prova ad iniziare a scrivere il codice ... e poi si va avanti insieme ...

  5. #5

    Re:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    struct record_pila
           {char stringa;
           struct record_pila *punt;};      
    typedef struct record_pila rec_pila;
    
    int x;
    char str[1000];
    int strlen (char *);
    void visualizza (rec_pila *t);
    void inserimento(char, rec_pila **);
    
    void main()
    {
         rec_pila *testa=NULL;
         printf("Inserisci una stringa:  ");
         scanf("%s",str);
         printf("La stringa # %s # ha lunghezza pari a %d caratteri", str, strlen(str));      
         x = strlen(str);
         inserimento(str, &testa);
         visualizza(&testa);
    }
    void visualizza(rec_pila *t)
    {
         int i=1;
         if (t==NULL)
              printf("pila vuota.");
         else 
         while (t!=NULL)
         {printf("%c\n",t->stringa);t=t->punt;}
    } 
    
    void inserimento(char str, rec_pila **t)
    {
         rec_pila *p;
         p=(rec_pila*)malloc(sizeof(rec_pila));
         p->stringa=x;
         p->punt=(*t);
         *t=p;
         getch();
    }
    i problemi che ho sono 2:
    1) non capisco perchè non mi inserisce i valori della stringa nella coda e non me li visualizza;
    2)non so come fare per fargli salvare la pila su file.

    Scusate per prima ma credevo fosse più complicato lavorare su uno script già esistente.

  6. #6

    Aggiornamento

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    struct record_pila
           {char *stringa;
           struct record_pila *punt;};      
    typedef struct record_pila rec_pila;
    
    int x;
    char str[1000];
    int strlen (char *);
    void visualizza (rec_pila *t);
    void inserimento(char *, rec_pila **);
    
    int main()
    {
         rec_pila *testa=NULL;
         printf("Inserisci una stringa:  ");
         scanf("%s",str);
         printf("La stringa # %s # ha lunghezza pari a %d caratteri", str, strlen(str));      
         x = strlen(str);
         inserimento(str, &testa);
         visualizza(testa);
         return 0;
    }
    void visualizza(rec_pila *t)
    {
         int i=1;
         if (t==NULL)
              printf("pila vuota.");
         else 
         while (t!=NULL)
         {printf("%s\n",t->stringa);t=t->punt;}
    } 
    
    void inserimento(char * str, rec_pila **t)
    {
         rec_pila *p;
         p=(rec_pila*)malloc(sizeof(rec_pila));
         p->stringa=str;
         p->punt=(*t);
         *t=p;
         getch();
    }
    Sono riuscito a risolvere il primo problema, ora mi restituisce il valore della pila.........

  7. #7
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    codice:
    void stampaPila(rec_pila *t,char *filename) {
    
    FILE *file;
    rec_pila *_temp = t;
    
    file = fopen(filename,"w");
    
    while (_temp != NULL)
    {
        fprintf(file,"\n String : %s \n",_temp->stringa) 
        _temp = _temp->punt;
    }
    
    
    fclose(file);
    
    }
    Non l'ho testata, ci potrebbero essere errori però almeno spero ti renda l'idea.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.