Salve.
sto iniziando ad imparare a programmare in C su visual studio. Dopo diversi esercizi su medie e funzioni risolti mi sono imbattuto in questo:
Dato un array statico a e uno dinamico b delle stesse dimensioni, scrivere una funzione che:
• a. Ritorni un nuovo array contenente la somma per componenti di a+b
• b. Ritorni il prodotto per componenti dei due array direttamente sull’array a.
Sono molto in difficoltà, sapreste darmi un aiuto o indirizzare a qualcosa di simile già svolto. non riesco a risolverlo.
Grazie a tutti per l'aiuto
Ciao a tutti.
Ho creato questo programma con una lista collegata con puntatori; questo dovrebbe accettare dei valori, stamparli su console, calcolarne il totale e infine farne la media. I punti vengono eseguiti tutti meno l'ultimo.
Ho difficoltà in particolare con la dichiarazione delle tre variabili che terminano con "= ..." dentro a "int main": ho provato diverse sostituzioni senza successo. Magari ci sono altri errori che non riesco a vedere. Potreste gentilmente darmi una mano?
allego il codice.
Grazie a tutti!
sto iniziando ad imparare a programmare in C su visual studio. Dopo diversi esercizi su medie e funzioni risolti mi sono imbattuto in questo:
Dato un array statico a e uno dinamico b delle stesse dimensioni, scrivere una funzione che:
• a. Ritorni un nuovo array contenente la somma per componenti di a+b
• b. Ritorni il prodotto per componenti dei due array direttamente sull’array a.
Sono molto in difficoltà, sapreste darmi un aiuto o indirizzare a qualcosa di simile già svolto. non riesco a risolverlo.
Grazie a tutti per l'aiuto
Ciao a tutti.
Ho creato questo programma con una lista collegata con puntatori; questo dovrebbe accettare dei valori, stamparli su console, calcolarne il totale e infine farne la media. I punti vengono eseguiti tutti meno l'ultimo.
Ho difficoltà in particolare con la dichiarazione delle tre variabili che terminano con "= ..." dentro a "int main": ho provato diverse sostituzioni senza successo. Magari ci sono altri errori che non riesco a vedere. Potreste gentilmente darmi una mano?
allego il codice.
Grazie a tutti!
Codice:
#include <stdio.h>
#include <malloc.h>
#include "stdafx.h"
//struttura della lista: preimpostata da C (studiala e basta)
struct elemento {
int inf;
struct elemento *next;
};
struct elemento *crea_lista();
void visualizza_lista(struct elemento*);
int totaleInf(struct elemento*);
int main()
{
struct elemento *lista; // puntatore della lista
lista = crea_lista(); // crea la lista
visualizza_lista(lista); // stampa la lista
printf("%d\n", totaleInf(lista));
printf("%d\n", numeroinf(lista));
int numero =
int totale =
float media =
}
// strumenti per scorrere la lista:
struct elemento *crea_lista()
{
struct elemento *p, *punt;
int i, n;
// permetto all'utente di aggiungere elementi alla mia lista
printf("Specificare il numero di elementi... ");
scanf("%d", &n);
if (n == 0)
{
p = NULL; // lista vuota
}
else {
/* creazione primo elemento */
p = (struct elemento *)malloc(sizeof(struct elemento));
printf("Inserisci il primo valore: ");
scanf("%d", &p->inf);
punt = p;
// se la lista non è vuota ggiungo il primo elemento
/* creazione elementi successivi */
for (i = 1; i < n; i++)
{
punt->next = (struct elemento *)malloc(sizeof(struct elemento));
punt = punt->next;
printf("Inserisci il %d elemento : ", i + 1);
scanf("%d", &punt->inf);
} // chiudo il for
punt->next = NULL; // marcatore fine lista
} // chiudo l’if-else
return(p);
} // chiudo la funzione
void visualizza_lista(struct elemento *p)
{
printf("%s", "lista = ");
// ciclo di scansione
while (p != NULL)
{
printf("%d ", p->inf); // visualizza l’informazione
p = p->next; // scorre di un elemento
}
printf("%c", '\n');
}
int totaleInf(struct elemento * p) {
printf("%s", "totale = ");
int totale = 0;
while (p != NULL)
{
totale += p->inf;
p = p->next;
}
return totale;
}
int numeroinf(struct elemento * p) {
printf("%s", "numero = ");
int numero = 0;
while (p != NULL)
{
numero += 1;
p = p->next;
}
return numero;
}