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