Предмет: Информатика, автор: Turin335

100 БАЛЛОВ!!!
Язык С(не С++!!!)
Написать программу, которая в двумерном массиве типа int размером N строк и M столбцов циклически сдвигает элементы каждой строки вправо на число позиций, равное индексу этой строки.

Ответы

Автор ответа: ssaannyyaaa
1

Ответ:

include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

const unsigned M=5;

 

void init_array(int A[][M], unsigned n);

void print_of_array(int A[][M], unsigned n);

void swap (int *pa, int *pb);

void changing_of_array(int A[][M], unsigned n);

int main(){

   const unsigned N=5;

       int A[N][M];

       init_array(A,N);

       print_of_array(A,N);

       printf("\n");

               printf("\n");

       changing_of_array(A,N);

       print_of_array(A,N);

       getchar();

       return 0;

   

}

 

void init_array(int A[][M], unsigned n){

   for (unsigned i=0; i<n; i++)

   for (unsigned j=0; j<M;j++)

   A[i][j]=rand()%100;

}

void print_of_array(int A[][M], unsigned n){

   for (unsigned i=0; i<n; i++){

   for (unsigned j=0; j<M;j++)

       printf("%5d", A[i][j]);

   printf("\n");}

}

void swap(int *pa, int *pb){

   int temp=*pa;

   *pa=*pb;

   *pb=temp;

   return;

                                     }

void changing_of_array(int A[][M], unsigned n)  {

   unsigned l=1;

   for (unsigned i=1; i<n; i++)              {

   for (unsigned j=M-1; j+1>0; j--){

       if ((j-l)<0) break;

   swap(&A[i][j],&A[i][j-l]);            }

l++;    

                                                            }

   

                                                                 }

Объяснение:

Похожие вопросы
Предмет: Русский язык, автор: АртурДиана
Предмет: Русский язык, автор: milekhina81
СОЧНО!!ОТДАМ 60 БАЛЛОВ!Составьте сложный план!Добрых мастеров средневековая Москва знала немало. Они изготавливали прекрасные украшения, парадное оружие, драгоценную посуду и одежду. Лучшие московские кузнецы, ювелиры, художники работали в мастерских Московского Кремля, выполнявших заказы царя, патриарха, бояр. Древнейшая из кремлёвских мастерских-Оружейная палата-известна с XVI в. Она занималась производством и хранением царского оружия. Мастера Золотой и Серебряной палат делали ювелирные украшения из драгоценных металлов и камней. При Конюшенном приказе существовали мастерские по изготовлению карет, дорогих сёдел и конской упряжи для парадных царских выездов. Нередко над одним изделием работала целая группа ремесленников." Cудовых дел мастер" выковывал золотой или серебряный сосуд, "знаменщик" (художник) наносил на него рисунок; чеканщик, резчик, эмальер (от слова "эмаль") -каждый по-своему украшал драгоценную вещь. Царь следил за работой мастеров, иногда лично утверждая проект нового изделия. В кремлёвских мастерских работали умельцы со всей России. Немало было и приглашённых иностранцев-немцев, итальянцев, англичан.