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

Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
OCTPuE-RAVs
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 27
20.04.2013, 12:00     Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д #1
В матрице Z(4,6) поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д., если ни один из этих элементов не равен нулю. Вывести исходную и преобразованную матрицы.

Под массив что-то накорябал...

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
#include "stdafx.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
int main()
{
const int k=10;
    int temp;
    int array[k]={2,4,6,8,10,12,14,16,18,20};
    for(int i=0; i<k; i++)
        cout<<array[i]<<' ';
    cout<<endl;
    for(int i=0; i<(k/2); i++)
    {
        temp=array[i];
        array[i]=array[k-1-i];
        array[k-1-i]=temp;
    }
    for(int i=0; i<k; i++)
        cout<<array[i]<<' ';
    cout<<endl;
    system("pause");
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 12:00     Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д
Посмотрите здесь:

C++ В прямоугольной матрице размера m*n в каждой строке поменять местами первый и минимальный элементы.
Разработать программу «переворота» строки. Способ: последовательная перестановка элементов - первый с последним, второй с предпоследним и т.д. C++
C++ Поменять местами столбцы в квадратной матрице по правилу: первый с последним, второй с предпоследним и т.д.
Преобразить массив так, чтобы элементы массива поменялись местами: первый - последним, второй - предпоследним, и т.д. C++
C++ Двумерные массивы (поменять местами последний элемент и любой из минимальных)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
20.04.2013, 12:33     Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д #2
Вот, нужно только проверку на ноль дописать:

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
#include <iostream>
using namespace std;
 
const int arraySize = 10;
 
void displayArray(int* array) {
    for(int i = 0; i < arraySize; i++)
        cout << array[i] << " ";
    cout << endl;
}
 
void reverseArray(int* array) {
    for(int i = 0; i < arraySize/2; i++) {
        int temp;
        temp = array[i];
        array[i] = array[arraySize - i - 1];
        array[arraySize - i - 1] = temp;
    }
}
 
int main() {    
    int array[] = {1, 3, 4, 6, 8, 4, 6, 9, 6, 4};
    displayArray(array);
    reverseArray(array);
    displayArray(array);
    return 0;
}
Добавлено через 9 минут
Тю, я то-же самое написал))
Lomin
46 / 46 / 5
Регистрация: 20.04.2013
Сообщений: 126
20.04.2013, 15:04     Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д #3
Вот решение твоей задачи на примере матрицы Z[4][6]

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
#include "stdafx.h"
#include <iostream> 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{ 
const int line=4;
const int column=6;
    int temp;
    int Z[line][column]={{2,4,6,8,0,5},{1,2,0,4,6,7},{8,2,0,1,2,3},{1,0,2,3,4,5}};
 
    // Выводим первоначальную матрицу
    for(int i=0;i<line;i++)
    {   for (int j=0; j<column; j++)    
        cout<<Z[i][j]<<" "; 
    cout<<"\n"; 
    }
 
    cout<<"\n";
 
    // Преобразовываем матрицу
    for(int i=0; i<line; i++)
        for (int j=0; j<column/2; j++)  
         // Проверка   "если ни один из этих элементов не равен нулю"
        if(Z[i][j] > 0 && Z[i][column -1 - j] > 0)
        
            { temp = Z[i][j];
             Z[i][j] = Z[i][column - 1 - j];
             Z[i][column - 1 - j] = temp;   
            }
// Выводим преобразованную матрицу
    for(int i=0;i<line;i++)
    {   for (int j=0; j<column; j++)    
        cout<<Z[i][j]<<" "; 
    cout<<"\n"; 
    }
 
  system("pause");
  return 0; 
}
OCTPuE-RAVs
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 27
20.04.2013, 18:36  [ТС]     Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д #4
Lomin

Спасибо!
Yandex
Объявления
20.04.2013, 18:36     Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д
Ответ Создать тему
Опции темы

Текущее время: 13:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru