// lists.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include struct list { int data,y,x; list *next; }; int ds_list_find_value(list* id, int y, int x) { list* current; current = id; int current_pos = -1; while(current != NULL) { if ((current->x == x)&&(current->y==y)){return current->data;} current = current->next; current_pos++; } return 0; } void ds_list_add(list* id,int data,int y, int x) { list* new_block = new list; list* current = id; new_block->data = data; new_block->x = x; new_block->y = y; new_block->next = NULL; while(current->next!=NULL) current = current->next; current->next = new_block; } list* ds_list_create() { list* new_block = new list; new_block->next = NULL; return new_block; } void main() { list *MatrixA,*MatrixB,*MatrixC; int elem; int i,j,k,ma,na,mb,nb; MatrixA = ds_list_create(); MatrixB = ds_list_create(); MatrixC = ds_list_create(); do { printf("Enter Matrix A size: \n"); scanf("%d",&ma); scanf("%d",&na); printf("Enter Matrix B size: \n"); scanf("%d",&mb); scanf("%d",&nb); if(na!=mb){system("cls"); printf("Matrix A columns must be equal matrix B lines! \n");} } while(na!=mb); printf("Enter Matrix A: \n"); for(i=0; i0){ds_list_add(MatrixA,elem,i/na,i-(i/na)*na);} } printf("Enter Matrix B: \n"); for(i=0; i0){ds_list_add(MatrixB,elem,i/nb,i-(i/nb)*nb);} } printf("====================\n"); printf("Matrix A is: \n"); for(j=0; j