0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 27
1

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

20.04.2013, 12:00. Показов 3037. Ответов 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
#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");
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2013, 12:00
Ответы с готовыми решениями:

Поменять местами столбцы в квадратной матрице по правилу: первый с последним, второй с предпоследним и т.д.
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt;...

Поменять элементы массива следующим образом: первый с последним, второй с предпоследним и т.д.
Дан одномерный массив, надо поменять элементы массива следующим образом: первый с последним, второй...

Преобразить массив так, чтобы элементы массива поменялись местами: первый - последним, второй - предпоследним, и т.д.
преобразите массив, так чтобы элементы массива поменялись местами. Первое-последним, второе пред...

Сформировать дек и преобразовать его таким образом, чтобы первый элемент стал последним, а второй предпоследним и т.д
Сформировать дек, целочисленных элементов и преобразовать его таким образом, чтобы первый элемент...

3
2 / 2 / 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 минут
Тю, я то-же самое написал))
0
46 / 46 / 18
Регистрация: 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; 
}
0
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 27
20.04.2013, 18:36  [ТС] 4
Lomin

Спасибо!
0
20.04.2013, 18:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2013, 18:36
Помогаю со студенческими работами здесь

Найти максимальный и минимальный элемент в каждой строке массива и поменять местами с первым и последним элементом
Дана матрица M*N. Нужно найти максимальный и минимальный элемент в каждой строке массива и поменять...

Поменять местами второй по величине элемент массива с последним
Помогите поменять получившийся элемент массива (он второй по величине) с последним. Спасибо ...

Поменять местами первый элемент с последним. Замену произвести через макрофункцию
Ввести в память машины массив размером N. Поменять местами первый элемент с последним. Замену...

Найти первый максимальный элемент и поменять его местами с последним элементом массива
Задача: Сформируйте массив из 6 элементов, организовав ввод данных с консоли. Подсчитайте сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru