Programmi con vettore in C

di il
1 risposte

Programmi con vettore in C

Buona sera, sono uno studente e come compito mi è stato assegnato questa traccia: dopo aver caricato due vettori A e B entrambi di lunghezza n, copiare in un vettore C gli elementi di A e B che occupano la stessa posizione e sono uguali.
ci ho provato, ma mi è uscito un programma che trova se un valore è presente in un solo vettore e non come chiede la consegna.
chiedo gentilmente di dirmi gli eventuali errori.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int lettura(void)
{int c;
do
{printf("\n quanti numeri vuoi inserire? (max 100): ");
scanf("%d", &c);}
while(c<0||c>100);}
main()
{
int a[100],n,k,x,w=0,t,i=0,b[100],c[100],l,y=0,p=0;
system("COLOR 5F");
do{
printf("\n Questo programma fornisce in output un array C contente i numeri che occupano la stessa posizione e sono uguali in altri due array A e B");
printf("\n inserire il numero di cui si vuole sapere quante volte compare nell'array: ");
scanf("%d", &x);
n=lettura();

for(k=0;k<n;k++){
printf("\n inserisci il numero di posizione %d : ",k );
scanf("%d",&a[k]);}

for(l=0;l<n;l++){
printf("inserisci il numero di posizione %d : ",l);
scanf("%d",&b[l]);}
for(k=0;k<n;k++){

if(a[k]==b[k]){
c[y]=a[k];
y++;
p++;}
}

for(k=0;k<n;k++){
if(a[k]==x){
w++;}}
printf("\n il numero %d compare %d volte nell'array", x,w);
for(y=0;y<p;y++){
printf("\n i valori richiesti sono: %d ",c[y]);
}
printf("\n desideri rifare il programma? se si' premere un tasto diverso da 0: ");
scanf("%d",&t);}
while(t!=0);}


infine vorrei sapere una cosa: se metto un carattere al posto di un numero escono scritte a caso e non si ferma più, come faccio a risolvere questo problema.

grazie a tutti per l'eventuale risposta.
ciao

1 Risposte

  • Re: Programmi con vettore in C

    Primo suggerimento: nella composizione del messaggio usa il markdown 'Code' per racchiudere le linee di codice, il messaggio sarà più leggibile.
    Secondo: sei sicuro di aver interpretato bene i requisiti dell'esercizio? A me sembra che ti si chieda:
    A=[3, 5, 7, 12, 42, 4]
    B=[11, 5, 33, 42, 12, 4]
    Risultato:
    C=[5, 4]
    Comunque, il programma mi sembra funzionare (dopo aver corretto l'unico errore grave, che sta nella funzione 'lettura'). Se c'è anche la richiesta di trovare il numero di occorrenze di un certo valore nei vettori A e B, basta che aggiungi il conteggio delle occorrenze in B, direttamente nel ciclo for dove trovi le occorrenze di x in A.
    Gli altri errori sono:
Devi accedere o registrarti per scrivere nel forum
1 risposte