Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2014, 09:28   #1
Funny111
Новичок
Джуниор
 
Регистрация: 21.04.2014
Сообщений: 1
По умолчанию Найти номер последней из строк, содержащих хотя бы один ненулевой элемент

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include<iostream>

using namespace std;



#define N 6
#define M 6

void rotright(int** A, int k)
{
int q = 0, R[N*M] = { 0 };
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
R[q++] = A[i][j];

int* temp = new int[k];
for (int t = N*M - k, s = 0; t < N*M; t++)
temp[s++] = R[t];

while (--k >= 0)
{
for (int m = N*M - 2; m >= 0; m--)
R[m + 1] = R[m];
}

for (int x = 0; temp[x] >= 0; x++)
R[x] = temp[x];

int n1 = 0, v = 0;
for (int n2 = 0; n1 < N && v < q; n2++)
{
if (n2 >= M) { n2 = 0; n1++; }
A[n1][n2] = R[v++];
}
}

void rotdown(int** A, int k)
{
int** temp = new int*[k];
for (int t = N - k, s = 0; t < N; t++)
temp[s++] = A[t];

int r = k;
while (--r >= 0)
{
for (int m = N - 2; m >= 0; m--)
A[m + 1] = A[m];
}

for (int x = 0; x < k; x++)
A[x] = temp[x];
}

int main()
{
setlocale(LC_ALL, "Russian");
printf("Матрица \n");
printf("\n");
int** A = new int*[N];
for (int i = 0; i < N; i++)
{
A[i] = new int[M];
for (int j = 0; j < M; j++)
{
A[i][j] = rand() % 9 + 0;
printf("%d ", A[i][j]);


}


printf("\n");
}

printf("\n");

int k = 0;
printf("Сдвиг на позицию k = "); scanf_s("%d", &k);

printf("Сдвиг:\n");
printf("1.Вправо\n");
printf("2.Вниз\n");

switch (_getch())
{
case '1': rotright(A, k); break;
case '2': rotdown(A, k); break;
default: break;
}

for (int s1 = 0; s1 < N; s1++)
{
for (int s2 = 0; s2 < M; s2++)
printf("%d ", A[s1][s2]);


printf("\n");
}

_getch();

return 0;
}
Как это осуществить в данном коде?
Funny111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти номер первой из строк, содержащих хотя бы один положительный элемент. Создать ступенчатый массив... ( на c# ) cool.lion1208 Помощь студентам 0 03.04.2014 15:10
Дано некоторый текст, в котором есть хотя бы одна запятая. Определить порядковый номер последней запятой в тексте FYNZIK Паскаль, Turbo Pascal, PascalABC.NET 1 10.03.2014 15:58
Найти номер первой из строк, не содержащих ни одного положительного элемента. Oksik_ Помощь студентам 2 06.11.2012 21:18
Матрица. Посчитать количество строк, содержащих хотя бы один нулевой элемент Геля007 Общие вопросы C/C++ 0 02.06.2010 16:17
Найти номера(индексы) в матрице хотябы одной строки или хотя бы одного столбца не содержащих еденицы Сергей Попов Паскаль, Turbo Pascal, PascalABC.NET 1 28.11.2008 08:59