Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
spartakvladimir
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 15
#1

Задачи на двумерные массивы - C++

11.12.2013, 17:49. Просмотров 598. Ответов 4
Метки нет (Все метки)

Помогите решить следующие задачи:
1. В квадратном массиве поменять местами строку и столбец, на пересечении которых находится ноль.
2. В каждой строке переставить первый отрицательный и последний положительный элементы.
3. Просматривая 1 строку найти максимальный и минимальный элементы, поменять местами столбцы, в которых они находятся.
Заранее спасибо!

Добавлено через 22 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
void main() {
    srand(time(NULL));
    const int ar = 8;
    int x = 0, y = 0;
    int mat[ar][ar];
    for (x; x < ar; x++) {
        for (y; y < ar; y++)
            mat[x][y] = rand() % 10;
        cout << mat[x][y];
    }
}
Вроде бы всё правильно, но в консоли показывает случайную ерунду.
Поставил фигурные скобки во вложенном цикле, теперь выполняется только одна итерация внешнего цикла. Не знаю почему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 17:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Задачи на двумерные массивы (C++):

Двумерные массивы - C++
Привет всем! если есть у кого время, посмотрите что можно сделать, нужна ваша помощь! Сформировать одномерный массив B из максимальных...

с++ двумерные массивы - C++
с++ двумерные массивы, можете помочь написать код пожалуйста №1 Заполнить матрицу А(9,9), от левого верхнего угла по диагонали: вправо -...

Двумерные массивы. - C++
для заданной матрицы размером 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Как это вообще? Второй день голову...

двумерные массивы - C++
Составить программу обмена местами максимального и минимального элементов главной диогонали матрицы 4x4. зарание спасибо!

Двумерные массивы. - C++
Помогите решить задачку!!!!!! Дана действительная квадратная матрица порядка 2N. Подучить новую матрицу, переставляя ее блоки размера N х...

Двумерные массивы в С++ - C++
Написать программу, которая дает пользователю ввести 5 фамилий студентов, а затем находит среди них самую длинную фамилию. Все фамилии...

4
Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
Завершенные тесты: 1
11.12.2013, 17:56 #2
А что правильно? Здесь просто описан алгоритм создания массива и заполнение псевдослучайными числами.
И то вывод в консоль не верный...
0
spartakvladimir
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 15
11.12.2013, 18:46  [ТС] #3
Правильно в смысле, что массив должен выводиться табличкой. А почему вывод неправильный?
0
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
11.12.2013, 18:56 #4
C++
1
2
3
4
5
6
7
8
9
    for (x=0; x < ar; x++) 
    {
        for (y=0; y < ar; y++)
        {
            mat[x][y] = rand() % 10;
            cout << mat[x][y]<<" ";
        }
        cout<<endl;
    }
1
spartakvladimir
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 15
11.12.2013, 20:05  [ТС] #5
Подскажите как решить задачи!

Добавлено через 48 минут
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
#include <iostream>
using namespace std;
 
int main(){
    const int n = 8;
    int arr1[n][n], z, w, i, j, temp, temp1;
    for (i = 0; i < n; i++){
        for (j = 0; j < n; j++){
            arr1[i][j] = rand() % 10;
            cout << arr1[i][j] << " ";
            if (arr1[i][j] == 0) {
                z = i;
                    w = j;
            }
        }
        cout << endl;
    }
    for (i = 0, j = 0; i < n; i++, j++) {
        temp == arr1[i][z];
        temp1 == arr1[w][j];
        arr1[i][z] == temp1;
        arr1[w][j] == temp;
        cout << arr1[i][z];
    }
}
Вот то, что у меня есть. Правда выводит не нужную строку, но ход мысли, думаю, уловить можно будет. Я объявляю массив, инициализирую его псевдослучайными значениями во вложенном цикле. Далее загоняю в переменные z и w номера столбца и строки в которой встретился ноль, чтобы использовать позднее. Потом создаю цикл в котором счётчиком является номер строки (i), также в этом же цикле у меня инкрементируется значение j (столбцы). В цикле я передаю значения столбца и строки временным переменным, а потом обмениваюсь значениями с переменными.
Логика понятна? Подскажите, где я мог допустить ошибку.
0
11.12.2013, 20:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2013, 20:05
Привет! Вот еще темы с ответами:

Двумерные массивы - C++
Никогда особо раньше не занимался программирование,больше как то математикой.И вот на первом курсе стали изучать язык Си на лекциях.На...

Двумерные массивы - C++
Помогите люди добрые:) Дана целочисленная прямоугольная матрица, определить: 1) Кол-во отрицательных эл-тов тех строк, которые содержат...

Двумерные массивы - C++
Ребята, помогите очень прошу! :с По массиву А(n,m) получить массив В(n) (типа boolean), присвоив k-му элементу значение true, если все...

Двумерные массивы C++.Функции. - C++
Помогите пожалуйста,очень нужно. В каждой строке матрицы n*m вместо максимального элемента записать количество положительных элементов...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru