Форум программистов, компьютерный форум CyberForum.ru

Циклический сдвиг элементов массива по диагонали влево вниз - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Срочно (списки) http://www.cyberforum.ru/cpp-beginners/thread225528.html
Пожалуйста, помогите очень срочно требуется( 1. Дано два односвязных списка. Определить какой из них длиннее 2. Дан односвязный список чисел(инт) найдите в нем наибольший элемент
C++ Структуры и массивы, сортировка списка. Задание звучит так... Написать программу, в которой необходимо создать структуру, элементами которой являются: имя, фамилия, год рождения студента и оценки по пяти экзаменам. Объявить массив данных о студентах группы типа структуры и ввести значения его элементов. Определить сумму баллов за сессию каждого студента и отсортировать список студентов по баллам в порядке возрастания. Сортировку... http://www.cyberforum.ru/cpp-beginners/thread225524.html
Поменять местами два элемента массива C++
Помогите решить пжл! в С++ ваще не шарю , а скора сессия I сем – Алгоритмические языки программирования Разработать схемы алгоритмов и программ (на Cu или C++) решение следующих задач: 1) Поменять местами два элемента – a и b 2) Вычислить Y= x2+5, если x<=2 2x, если x>2 3) Вычислить -x+1, если 1<x<=3
устранить ошибки C++
Привет! Я уже обращался с подобной просьбой, но остался без ответа. помогите пожалуйста. срочно надо! задача такова что нужно написать программу которая сортирует массивы из 1000, 5000 и 10000 элементов двумя видами сортировок и ввыводит время для каждой сортировки каждого массива. вот код, но тут у меня выходит что сортировка пузырька сортирует массив из 1000 элементов быстрее чем сортировка...
C++ сортировка одномерного массива http://www.cyberforum.ru/cpp-beginners/thread225475.html
объясните пожалуйста алгоритм выполнения сортировки относительно компьютера(программы)
C++ Сформировать одномерный массив целых чисел Здравствуйте. Скажите пожалуйста, что изменить, чтобы всё работало. Программа компилируется, но я не понял всех нюансов здачи. вот сама задача: При выполнении работы используются статические массивы. Для организации статических массивов с псевдопеременными границами необходимо объявить массив достаточно большой длины. Затем пользователь вводит реальную длину массива (не больше N) и работает... подробнее

Показать сообщение отдельно
and
 Аватар для and
20 / 20 / 1
Регистрация: 12.05.2009
Сообщений: 43
08.01.2011, 10:41     Циклический сдвиг элементов массива по диагонали влево вниз
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
 * main.cpp
 *
 *  Created on: Jan 8, 2011
 *      Author: and
 */
 
#include <iostream>
 
int printAr(int **nArr, unsigned int unWidth, unsigned int unHeight);
int sAr(int **nArr, unsigned int unWidth, unsigned int unHeight);
 
int main(int argc, char **argv)
{
    int nWidth = 0, nHeight = 0;
    std::cout<<"Width Height:";
    std::cin>>nWidth>>nHeight;
 
    int **nArr = new int *[nWidth];
    for(int i = 0; i < nWidth; ++i)
    {
        nArr[i] = new int[nHeight];
        for(int j = 0; j < nHeight; ++j)
        {
            nArr[i][j] = i*2 + j;
        }
    }
    printAr(nArr, nWidth, nHeight);
    sAr(nArr, nWidth, nHeight);
    std::cout<<std::endl;
    printAr(nArr, nWidth, nHeight);
 
    for(int i = 0; i < nHeight; ++i)
    {
        delete [] nArr[i];
    }
    delete [] nArr;
    return 0;
}
//
int sAr(int **nArr, unsigned int unWidth, unsigned int unHeight)
{
    int ret = 0;
    if(nArr != NULL)
    {
        ret = 1;
        int temp = nArr[0][0];
        for(int i = 0; i < unWidth; ++i)
        {
            temp = nArr[(i - unHeight + 1)%unHeight][unHeight - 1];
            for(int j = unHeight - 1; j > 0; --j)
            {
                nArr[(i - j)%unWidth][j] = nArr[(i - j + 1)%unWidth][j - 1];
            }
            nArr[i][0] = temp;
        }
    }
 
    return ret;
}
//
int printAr(int **nArr, unsigned int unWidth, unsigned int unHeight)
{
    int ret = 0;
    if(nArr != NULL)
    {
        ret = 1;
        for(int i = 0; i < unHeight; ++i)
        {
            for(int j = 0; j < unWidth; ++j)
            {
                std::cout<<nArr[j][i]<<"\t";
            }
            std::cout<<std::endl;
        }
    }
 
    return ret;
}
Правь сам как тебе нужно.
 
Текущее время: 21:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru