Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int **allo(int r, int c){
- int i;
- int **a = (int **)malloc(r*sizeof(int *));
- for (i=0; i<r ; i++){
- *(a+i)=(int *)malloc(c*sizeof(int));
- }
- return a;
- }
- void associa(int r, int c, int **m){
- int x,y;
- int v;
- if (c == 1){
- printf("inserire valori vettore :\n");
- }
- else{
- printf("inserire valori matrice:\n");
- }
- for (x=0; x<r; x++){
- for (y=0; y<c; y++){
- if (c==1){
- printf("posizione %d: \n\t" , x);
- }
- else{
- printf("cord. [%d , %d]: \n\t" , x, y);
- }
- scanf("%d", &v);
- m[x][y] = v;
- printf("\n");
- }
- }
- }
- void stampa(int r, int c, int **m){
- int x,y;
- for (x=0; x<r; x++){
- for (y=0; y<c; y++){
- printf("%d\t", m[x][y]);
- }
- printf("\n");
- }
- }
- void stampaa(int r, int c, int **m, int **v, int **re){
- int x,y;
- int medio = r/2;
- for (x=0; x<r; x++){
- printf("|");
- for (y=0; y<c; y++){
- printf(" %d", m[x][y]);
- }
- if (x == medio){
- printf(" | + | %d | = | %d |",v[x][0], re[x][0]);
- }
- else{
- printf(" | | %d | | %d |",v[x][0], re[x][0]);
- }
- printf("\n");
- }
- }
- void somma(int r, int c, int **m, int **v, int **re){
- int x,y;
- int sum;
- for (x= 0; x<r; x++){
- sum= 0;
- for (y= 0; y<c; y++){
- sum+= m[x][y] * v[x][0];
- }
- re[x][0]= sum;
- }
- }
- int main(){
- int r, c, l;
- int **m;
- printf("inserire numero di righe: \n");
- scanf("%d", &r);
- printf("inserire numero di colonne: \n");
- scanf("%d", &c);
- m=allo(r,c);
- associa(r,c,m);
- stampa(r,c,m);
- int **v= allo(r, 1);
- int **result= allo(r, 1);
- associa(r, 1, v);
- somma(r,c,m,v,result);
- stampaa(r,c,m,v,result);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement