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

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

Восстановить пароль Регистрация
 
raptor12
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 10
01.12.2011, 23:40     Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз. #1
Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз.Помогите кто чем может,
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 23:40     Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз.
Посмотрите здесь:

C++ Двумерный массив заполняется слева направо и сверху вниз
Матрицы: поменять местами первую строку и строку, содержащую максимальный элемент C++
Поменять местами первую строку и строку сумма элементов которой минимальна C++
C++ В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент
У меня задача,в матрице,заменить первый отрицательный элемент максимальным элементом. Проходить по матрице слева направо,сверху вниз C++
C++ В матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине элемент матрицы
C++ В матрице из действительных чисел поменять местами первую строку и строку, содержащую наименьший элемент матрицы
C++ Поменять местами последнюю строку со строкой, в которой находится максимальный элемент матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
02.12.2011, 10:35     Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз. #2
raptor12, как понял таки и сделал, если что.
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
#include <iostream>
using namespace std; 
 
int main(void)
{
   const int N = 4;
   int arr[N*N] = {
        3, 40, 2, 1,
        4, 5, -4, 5,
        3, 0, 50, 2,
        1, 4,  8, 7
   };
   int row = -1;
   for(int r = 0; r < N && row == -1; r++) {
         for(int c = 0; c < N; c++) {
             if(arr[r*N + c] == 0) {
                  row = r;
                  break;
             }
         }
   }
   int tmp;
   for(int c = 0; c < N && row != -1; c++) {
         tmp = arr[c];
         arr[c] = arr[row*N + c];
         arr[row*N + c] = tmp;
   }
 
   const int* end = arr + N*N;
   for(const int* ptr = arr; ptr != end; *ptr++) {
        cout << *ptr << '\t';
        if(((end - ptr)-1)%N == 0)
            cout << endl;
   }
   return 0;
}
Yandex
Объявления
02.12.2011, 10:35     Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз.
Ответ Создать тему
Опции темы

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