i tried to use buble sort
i marked the start end the end
with comments (start sorting code ,end sorting code)
its not working
Code:#include <stdio.h> int main() { //star int i,j,k,temp,temp3[50]; int rows = 50; int cols = 50; int jndex,input; // int sum2=0; sum2 is never used /* You can't make an array without telling it's size. rows and cols have not been assigned a value, yet. */ int matrix[50][50]; // int matrix[rows][cols]; // int sum[rows][cols]; int sum[50][50]; // int temp1[rows][cols]; int temp1[50][50]; // int transpose [cols][rows]; int transpose [50][50]; int index,kndex,tndex,gndex,lndex; int rows_sum[50]; //int rows_sum[rows]; //rows could be ANY value, still. /* your program isn't designed for this printf("enter rows and cols [1..50] ==> "); scanf("%d %d",&rows,&cols); */ /* You can save yourself this code, just by making the array initialize to zero's, when you declare it: row_sum[4] = { 0 }; This only works when you first declare them, not at any later time */ printf("enter the size of a matrix:"); scanf("%d %d",&rows,&cols); for (index = 0; index < rows; index++) { rows_sum[index]=0; for (kndex = 0; kndex < cols; kndex++) { matrix[index][kndex] = 0; sum[index][kndex] = 0; temp1[index][kndex] = 0; transpose[index][kndex] = 0; }//end inner for temp3[index] = 0; }//end outer for printf("enter numbers in a row for a matrix:"); //stat input for (index = rows - 1;index >= 0; index--) { for (kndex = cols - 1; kndex >= 0; kndex--) { scanf("%d", &matrix[index][kndex]); transpose[kndex][index] = matrix[index][kndex]; } } i = getchar(); //needed because of scanf() //end input //start power operation // rows sum for (index = 0; index < rows; index++) { for (kndex = 0; kndex < cols; kndex++){ rows_sum[index]=rows_sum[index]+matrix[index][kndex]; printf("%d ",matrix[index][kndex]); } printf("\n"); } // end rows sum //star sorting code for (index=0; index<rows-1; index++) { for (jndex=0; jndex<rows-1-index; jndex++) if (rows_sum[jndex+1] < rows_sum[jndex]) { /* compare the two neighbors */ temp = rows_sum[jndex]; /* swap a[j] and a[j+1] */ rows_sum[jndex] = rows_sum[jndex+1]; rows_sum[jndex+1] = temp; for (kndex=0; kndex<rows; kndex++){//inner for temp3[kndex] =matrix[index][kndex]; matrix[jndex][kndex]=matrix[jndex+1][kndex]; rows_sum[jndex+1] =temp3[kndex]; }//end inner //end sorting code } } //print the swapped matrix for(i = 0; i < rows; i++) { putchar('\n'); for(j = 0; j < cols; j++) printf(" %d", matrix[i][j]); } i = getchar(); return 0; }//end main



LinkBack URL
About LinkBacks


