• Страница 1 из 1
  • 1
Форум » Программирование » Си » Поменять местами первую и вторую половины строки
Поменять местами первую и вторую половины строки
Администратор
Уровень 999
Сообщений: 2104
Дата: Суббота, 20.07.2013, 22:42:48 | Сообщение # 1
Offline
Поменять местами первую и вторую половины рядка

Вот то что получилось у меня, но почему-то не работает:

Код C:

Код
#include <stdio.h>
int main(){
       int m,k,t,a,i,d;
       int m[6]={1,2,3,4,5,6};
           m=n/2;
           if(n%2)k=m+1;
           else k=m;
           for(i=0;i<m;i++){
               t=a[i];
               a[i]=a[k+i];
               a[k+i]=t;
           }
       printf("%d!=%d",m);
       while(!kbhit());
       return 0;
}
Подпись пользователя
Администратор
Уровень 999
Сообщений: 2104
Дата: Суббота, 20.07.2013, 22:44:50 | Сообщение # 2
Offline
Код C:

Код
#include <stdio.h>
#include <stdlib.h>
     
int main() {
      int x[] = { 0, 1, 2, 3, 4 };
      int i, size = 5;
      int middle = size >> 1;
      int shift = size % 2;
      int middle_elem = x[middle];
      for(i = 0; i < middle; i++){
          int t = x[i];
          x[i] = x[i + middle + shift];
          x[i + middle] = t;
      }
      if(shift) x[size - 1] = middle_elem;
      return 0;
}


PS: А у вас не работает, как минимум, потому, что обьявлены два одинаковых идентификатора: int m; int m[6];
Подпись пользователя
Форум » Программирование » Си » Поменять местами первую и вторую половины строки
  • Страница 1 из 1
  • 1
Поиск: