Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
26.05.2014
Размер:
1.2 Кб
Скачать
#include<stdio.h>
#include<conio.h>

const i1=3;
const i2=3;

void main()
{
 clrscr();
 int i,j,k;
 int m[i1][i2];
 int *p,*p1,*p2,*p3,*p4,*buf;
 int sum[i1];
 p=&m[0][0];
 p1=&sum[0];
 p2=p; p3=p1;
 p4=p2+i1*i2-1;
 for(i=0;i<i1;i++) {
  *p1=0;
  *(p1++);
 }
 printf("Vvedite elementy matricy [%d][%d]:\n",i1,i2);
 for(i=0;i<i1*i2;i++)
  scanf("%d", p++);
 p=p2; p1=p3;
 for(i=0;i<i1*i2;i++) {
  if ((i!=0)&&(i%i2==0)) {
   p1++;
   *p1+=*p;
   p++;
  }
  else {
   *p1+=*p;
   p++;
  }
 }
 p=p2;

 for(i=0;i<i1*i2;i++) {
  j=0;
  while(p!=p4) {
   if((j!=0)&&(j%(i2-1)==0)) p++;
   if(*p>*(p+1)) {
    *buf=*p;
    *p=*(p+1);
    *(p+1)=*buf;
   }
   p++;
   j++;
  }
  p=p2;
 }
 p=p2;
 p1=p3;
 for(i=0;i<i1;i++) {
  for(j=0;j<i1-1;j++) {
   if (*p1>*(p1+1)) {
    *buf=*p1;
    *p1=*(p1+1);
    *(p1+1)=*buf;
    p1++;
    for(k=0;k<i2;k++) {
     *buf=*p;
     *p=*(p+i2);
     *(p+i2)=*buf;
     p++;
    }
   }
   else if (*p1<=*(p1+1)) {p=p+i2; p1++;}
  }
  p=p2;
  p1=p3;
 }
 printf("Rezultat sortirovki:\n");
 for(i=0;i<i1*i2;i++) {
  if ((i!=0)&&(i%i2==0)) printf("\n");
  printf("%d ",*p);
  p++;
 }
 getch();
}
Соседние файлы в папке лабы по Осям