Documente Academic
Documente Profesional
Documente Cultură
#include <stdlib.h>
#include <stdio.h>
int MI[100][100],MA[100][100],n,m,k;
struct node{
int v;
node *next;
v=x;
next=t;
};
lnk adj[100];
void fMI(){
printf("Matricea Indiacenta\n");
for(int i=0;i<m;i++){
printf("Introduceti %d rindul\n",i+1);
for(int j=0;j<n;j++)
scanf("%d",&MI[i][j]);
void fMA(){
printf("Matricea Adiacenta\n");
for(int i=0;i<n;i++){
printf("Introduceti %d rindul\n",i+1);
for(int j=0;j<n;j++)
scanf("%d",&MA[i][j]);
}
void fLA(){
int tmp;
printf("Lista de adiacenta\n");
for(int i=0;i<n;i++){
printf("%d",i+1);
scanf("%d",&tmp);
while(tmp){
adj[i]=new node(tmp-1,adj[i]);
scanf("%d",&tmp);
void fMAvLA(){
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(MA[i][j])
adj[i]=new node(j,adj[i]);
void fLAvMI(){
int m=0;
for(int i=0;i<n;i++){
lnk tmp=adj[i];
while(tmp){
MI[m][i]=-1;
MI[m++][tmp->v]=1;
tmp=tmp->next;
void fMIvMA(){
int i,j,k,l;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
if(MI[i][j]==-1) k=j;
if(MI[i][j]==1) l=j;
MA[k][1]=1;
void printAll(){
printf("Matricea incidenta\n");
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
printf("%2d",MI[i][j]);
printf("\n");
printf("Matricea adiacenta\n");
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
printf("%2d",MA[i][j]);
printf("\n");
printf("Lista de adiacenta\n");
for(int i=1;i<=m;i++){
printf("%d: ",i);
lnk tmp=adj[i-1];
while(tmp){
printf("%f",tmp->v+1);
tmp=tmp->next;
printf("0\n");
int main()
scanf("%d",&n);
scanf("%d",&m);
scanf("%d",&k);
if(k==1){
fMI();
fMIvMA();
fMAvLA();
if (k==2){
fMA();
fMAvLA();
fLAvMI();
if (k==3){
fLA();
fLAvMI();
fMIvMA();
printAll();
return 0;