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

Перевернуть строки в матрице - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача http://www.cyberforum.ru/cpp-beginners/thread1050470.html
Рекомендации к задаче: 1. Имя файла задавать в командной строке. Если оно там не был задан, то после соответствующего запроса имя вводится пользователем. 2. Использовать динамическое выделение памяти (размер массива задается пользователем после соответствующего запроа). Оссвобождать память, выделенную под динамические переменные, ОБЯЗАТЕЛЬНО. Сама задача: Есть информация о деталь:...
C++ файлы в С file=fopen("file.txt","r"); for(i=0;;i++) {do {n=fgetc(file); printf("%c",n); } while (n!=EOF); break;} fclose (file); http://www.cyberforum.ru/cpp-beginners/thread1050469.html
C++ как засунуть условно-бесконечный цикл
еще позавчера как-то умудрился, но задача решена была неверно, сейчас уже мозг потек... #include <iostream> #include <cmath> #define pi 3.14159 using namespace std; double circle_area(double x) { return 4 * pi * pow(sqrt(x / 6) / 2, 2); }
Ошибка C3918 C++/CLI WinForms
Что означает эта ошибка и как ее исправить ? error C3918: usage requires 'Ball::evStolk' to be a data member Вот код: #include "stdafx.h" //#using <mscorlib.dll> #using <System.dll> #using <System.Drawing.dll> #using <System.Windows.Forms.dll> using namespace System;
C++ Добавляем строку и столбец в дин. 2-ный массив http://www.cyberforum.ru/cpp-beginners/thread1050456.html
Добавляем строку и столбец в дин. 2-ный массив. Строку и столбец указываем с клавиатуры. Долго крутил- вертил и запутался в корни. Вот мой код: #include "stdafx.h" #include <Windows.h> #include "string" #include "iostream" using namespace std; int main()
C++ Перевод кода из Pascal в C++ Помогите пожалуйста)) Дано: A 5*4 формируемый массив B 5*4, где bij=i+3,если i>=j j-2 - иначе, i=1..5, j=1..4 Условия задачи: Определить номера строк матриц A и B, содержащих min элементы (IA и IB соответственно). подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
23.12.2013, 03:12     Перевернуть строки в матрице
Цитата Сообщение от outoftime Посмотреть сообщение
first < last; )
* * * * * * std::iter_swap(first++, last++);
Ничего, что разница между first и last всегда const и first никогда last не догонит

Добавлено через 1 минуту
И что здесь
Цитата Сообщение от outoftime Посмотреть сообщение
for (auto it = std::begin(a); it != std::end(a); it += 3)
будет падение при n некратном 3?

Добавлено через 5 минут
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
#include <iostream>
#include <iterator>
#include <algorithm>
 
template<size_t N, size_t M>
void revert(int (&a)[N][M]) {
    for (auto it = std::begin(a); it < std::end(a); it += 3)
        for (int *first = *it, *last = *it + M-1; first < last;
            std::iter_swap(first++, last--) );
}
 
int main()
{
    const int n = 10, m = 10;
    int a[n][m];
    for (int i=0; i < n; i++)
        for (int j=0; j < m; j++)
            a[i][j] = i*m + j;
 
    revert(a);
 
    for (int i=0; i < n; i++)
    {
        for (int j=0; j < m; j++)
            std::cout << a[i][j] << " ";
        std::cout << std::endl;
    }
}
 
Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru