Помогите с задачами на матрицы

Тема в разделе "Общие вопросы по С и С++", создана пользователем Xander7, 19 ноя 2005.

Статус темы:
Закрыта.
  1. Xander7

    Xander7 Гость

    Люди, помогите разобраться с задачами на матрицы... Они у меня ни в какую...
    Например, такое задание: расположить произвольно вводимые цыфры в матрицу таким образом:
    1 2 6 7
    3 5 8 13
    4 9 12 14
    10 11 15 16 извените, просто рисунка нет, где вводимые числа - 1 2 3 4 5 и т.д. (ну тоесть расположить их змейкой). Смысл то я понимаю, но не могу понять, как такую прогу написать, а написать нужно на Borland C++. Если сможете попробуйте написать, но если выйдет, пожалуйста обЪесните как там всё работает, боюсь что я тупой малость :lol:
     
  2. Anton Chik

    Anton Chik Гость

    может я и перемудрил,но все же работает :)

    Код (Text):
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>

    int main(void)
    {
    clrscr();
    int a[128][128];//input matrix
    int b[128][128];//output matrix
    int N;
    short int forward,first=1;
    int i,j,row,col,r,r2,rr;
    puts("Input N (1..128) :");
    scanf("%d",&N);
    for(i=0;i<N;i++)
    {
    puts("");
    for(j=0;j<N;j++)printf("\na[%d][%d]=",i,j);scanf("%d",&a[i][j]);
    }
    row=col=r=rr=1;
    forward=0;
    for(i=0;i<N;i++)
    for(j=0;j<N;j++)
    if(first)//first part
    {
    if(forward){row=r-1;col=rr-r;}
    else {row=rr-r;col=r-1;}
    b[row][col]=a[i][j];
    r++;
    if(r>rr)
     {
     rr++;
     forward=!forward;
     r=1;
     if(rr>N){
          first=0;
          rr=2;r=2;r2=N;
          }
     }
    }
    else// second part
    {
    if(forward){row=r-1;col=r2-1;}
    else {row=r2-1;col=r-1;}
    b[row][col]=a[i][j];
    r++;
    r2--;
    if(r>N)
     {
     rr++;
     r2=N;
     r=rr;
     forward=!forward;
     }
    }
    for(i=0;i<N;i++)//RESULT
    {
    puts("");
    for(j=0;j<N;j++)printf("%d\t",b[i][j]);
    }
    puts("\nPress any key...");
    getch();
    return 0;
    }
     
  3. Xander7

    Xander7 Гость

    Спасибо, все понял, вопросов больше не имею!!! :) B) ;)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей