Manuali.it
Ciao e Benvenuto/a nel Forum di Manuali.it !
Non sei registrato? Registrati subito cliccando QUI! E utilizza tutte le funzionalita' del sito!
Ci vediamo sul Forum !
Lo Staff di Manuali.it
Oggi è mar mag 22, 2012 8:07 pm

Tutti gli orari sono UTC +2 ore




Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 
Autore Messaggio
 Oggetto del messaggio: aiuto per piccoli programmi c/c++
MessaggioInviato: dom dic 28, 2008 4:01 pm 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: mer set 07, 2005 10:24 am
Messaggi: 6508
Località: Parma
chiedo un aiuto su alcuni programmini che avevo da fare..in fase di compilazione non viene segnalato nessun errore..ma poi non fanno quello che vorrei..questi sono i testi e i codici che ho scritto..se riuscite a capire dove ho sbagliato mi fate un piacere..grazie


1) (a) realizzare una funzione di nome diff che, presi tre array di interi A, B, C e le dimensioni n ed m di A e B calcola C=A/B(differenza insiemistica tra A e B: C contiene tutti e soli gli elementi che appartengono ad A e non a B).la funzione restituisce come suo risultato il numero di elementi contenuti in C.
(b)realizzare un programma principale che legge due sequenze di numeri interi (di lunghezza max 100),terminate da un numero negativo, le memorizza in due array e quindi tramite la funzione diff calcola la differenza insiemistica tra i due insiemi di elementi e la stampa su std output.

Questo è il mio codice:

Codice:
#include <iostream>
using namespace std;
int const dim=100;
int diff(int A[],int n,int B[],int m,int C[])
    {int x=0;//dimensione di C
    for(int i=0;i<n;i++)
     for(int j=0;j<m;j++)
       if(A[i]!=B[j])x++;
    return x;
    }
int main()
    {int A[dim];
    int B[dim];
    int x;
    int C[x];
    cout<<"inserisci la prima sequenza terminata da numero negativo(max 100 numeri)"<<endl;
    for(int i=0;i<dim & A[i]>=0;i++)
     cin>>A[i];
    cout<<"inserisci la seconda sequenza terminata da numero negativo(max 100 numeri)"<<endl;
    for(int j=0;j<dim & B[j]>=0;j++)
     cin>>B[j];
    x=diff(A,dim,B,dim,C);
    cout<<x;
    return 0;
    }


2) (a) Sia S il tipo di una struttura dati struct costituita da un campo c1 di tipo stringa (dim max 1000) ed un campo c2 di tipo intero contenente la lunghezza della stringa in c1. Scrivere una funzione void di nome aggiorna che, presi come suoi parametri una struttura A di tipo S ed una stringa s, modifica la struttura A concatenando la stringa s alla stringa contenuta nel campo c1 di A ed aggiorna il campo c2 di A sommandovi la lunghezza della stringa s.
(b)realizzare un programma principale di prova che legge da std input due stringhe di lunghezza max 80, terminate da “a capo”,memorizza la prima stringa insieme alla sua lunghezza in una struttura di tipo S e quindi richiama la funzione aggiorna passandole la struttura creata e la seconda stringa letta. Il programma termina stampando su std output i valori dei campi c1 e c2 della struttura passata alla aggiorna.
N.B utilizzare solo stringhe tipo C(=array di caratteri)

Questo è il mio codice:

Codice:
#include <iostream>
#include <cstring>
using namespace std;
int const dim=1000;
int const dim_max=80;
struct S{char c1[dim];
         int c2;//lunghezza della stringa
         };
void aggiorna(S A,char s[])
     {int x;//lunghezza di s
     strcpy(A.c1,strcat(A.c1,s));
     A.c2=A.c2+x;
     return;
     }
int main()
    {S A;
    char s[dim_max];
    int x;
    cout<<"inserisci la prima stringa(max 80 caratteri)"<<endl;
    cin.getline(A.c1,dim_max);
    A.c2=strlen(A.c1);
    cout<<"inserisci la seconda stringa(max 80 caratteri)"<<endl;
    cin.getline(s,dim_max);
    x=strlen(s);
    aggiorna(A,s);
    cout<<A.c1<<endl;
    cout<<A.c2<<endl;
    return 0;
    }


_________________
Riccardo

-Corsair 550W 80plus
-SEAGATE Barracuda 1TB
-Windows 7 Home Premium 64bit
-G.SKILL DDR3 4GB CL7
-GIGABYTE P55-USB3
-Intel CORE i5 760/2.8HGz
-Inter-Tech CK-35 Observer Rubber Black Coated ATX-Tower
-Gigabyte nVidia 460 1GB DDR5


Immagine



Condividi: Aggiungi: aiuto per piccoli programmi c/c++ a Technorati Aggiungi: aiuto per piccoli programmi c/c++ a OKNOtizie Aggiungi: aiuto per piccoli programmi c/c++ a Segnalo Aggiungi: aiuto per piccoli programmi c/c++ a Digg Aggiungi: aiuto per piccoli programmi c/c++ a Boomark.it Aggiungi: aiuto per piccoli programmi c/c++ a Furl Aggiungi: aiuto per piccoli programmi c/c++ a de.li.cious Aggiungi: aiuto per piccoli programmi c/c++ a Yahoo Aggiungi: aiuto per piccoli programmi c/c++ a Stumbleupon Aggiungi: aiuto per piccoli programmi c/c++ a Google Aggiungi: aiuto per piccoli programmi c/c++ a BlogLines Aggiungi: aiuto per piccoli programmi c/c++ a SocialDust.com Aggiungi: aiuto per piccoli programmi c/c++ a Live.com Aggiungi: aiuto per piccoli programmi c/c++ a Wikip.it
Top
 Profilo E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 

Tutti gli orari sono UTC +2 ore


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi

Cerca per:
Vai a:  
2000 - 2011 Manuali.it © - P.IVA 00992330670 - Tutti i diritti riservati - Note Legali - Condizioni di utilizzo del sito - Privacy - E' vietata qualsiasi riproduzione parziale o completa se non autorizzata - # Powered by Cykel Software
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it
phpBB SEO