Accedi

Accodamento vettori v2

PROBLEMA

Scrivere un programma che acquisiti da tastiera due array di interi le cui dimensioni sono fornite da tastiera, restituisce in output un terzo array con accodato al secondo il primo.


CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>
//Scrivere un programma in C che acquisiti da tastiera due array di interi le cui dimensioni sono fornite da tastiera, restituisce in output un terzo array con accodato al secondo il primo.
//Author: Masone Alessandro
//Date: 2021/02/23

//dichiarazione funzioni
void caricamentoVettoreA();
void caricamentoVettoreB();
void concatenaVettori();
void uscitaProgramma();
//funzione per il caricamento del primo vettore
void caricamentoVettoreA(int vettore_A[], int n_a) {
 //sezione dichiarativa
 int i;
 //ciclo for per caricare il primo array
 for (i=0;i<n_a;i++) {
  printf("inserisci il %i valore del Vettore A: ", i+1);
  scanf("%i", &vettore_A[i]);
 }
}
//funzione per il caricamento del secondo vettore
void caricamentoVettoreB(int vettore_B[], int n_b) {
 //sezione dichiarativa
 int i;
 //ciclo for per caricare il primo array
 for (i=0;i<n_b;i++) {
  printf("inserisci il %i valore del Vettore B: ", i+1);
  scanf("%i", &vettore_B[i]);
 }
}
//funzione per concatenare il primo al secondo vettore
void concatenaVettori(int vettore_A[], int vettore_B[], int vettore_C[], int n_a, int n_b){
 //sezione dichiarativa
 int j=0, i; //j=variabile d'appoggio per il conteggio; i=indice
 //caricamento seconda parte del terzo vettore con il secondo vettore
 for(i=0;i<n_b;i++){
  vettore_C[j] = vettore_B[i];
  j++;
 }
 //caricamento prima parte del terzo vettore con il primo vettore
 for(i=0;i<n_a;i++){
  vettore_C[j] = vettore_A[i];
  j++;
 }
}
//funzione per visualizzare il terzo vettore
void visualizzaVettore(int vettore_C[], int n_a, int n_b){
 //sezione dichiarativa
 int i;
 printf("Vettore C\nElemento\tContenuto");
 //ciclo for per visualizzare il terzo vettore
 for(i=0;i<n_a+n_b;i++){
  printf("\n   %i\t\t   %i", i+1, vettore_C[i]);
 }   
}
//funzione ringraziamento
void uscitaProgramma (void) {
 //sezione dichiarativa
 int i;
 printf("\nPremi un tasto per tornare uscire...");
 getch();
 system("cls");
 for (i=0;i<5;i++) {
  printf("Grazie di aver utilizzato il programma\n\n");
  sleep(1);
 }
}
//funzione principale del programma
int main(int argc, char *argv[]) {
 //sezione dichiarativa
 int n_a, n_b; //n_a=numero di elementi del vettore A; n_b=numero di elementi del vettore B
 printf("Inserisci Elementi del vettore A: ");
 scanf("%i", &n_a);
 //dichiarazione vettore
 int vettore_A[n_a];
 //richiamo funzione
 caricamentoVettoreA(vettore_A, n_a);
 printf("Inserisci Elementi del vettore B: ");
 scanf("%i", &n_b);
 //dichiarazione vettore
 int vettore_B[n_b];
 //richiamo funzione
 caricamentoVettoreB(vettore_B, n_b);
 //dichiarazione vettore
 int vettore_C[n_a+n_b];
 //richiamo funzione
 concatenaVettori(vettore_A, vettore_B, vettore_C, n_a, n_b);
 visualizzaVettore(vettore_C, n_a, n_b);
 uscitaProgramma();
 system("PAUSE");
 return 0;
}