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

Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам - C++

Восстановить пароль Регистрация
 
 
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
04.06.2014, 23:53     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #1
есть два задания, честно говоря очень сложно представить как их сделать .
помогите люди добрые!
1. Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам.
2. Записать на место отрицательных элементов нули, а на место положительных - единицы
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 23:53     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам
Посмотрите здесь:

Дан массив A(23). Переписать в новый массив все элементы, расположенные после последнего отрицательного. C++
C++ переписать в одномерный массив ненулевые элементы и найти наибольшее по модулю
C++ Элементы матрицы переписать построчно в одномерный массив
C++ Переписать в одномерный массив элементы матриц А и В, имеющие одинаковые индексы
Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
10.06.2014, 00:20     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #21
Цитата Сообщение от Danikor Посмотреть сообщение
но не выводит полученную матрицу.
Цитата Сообщение от Danikor Посмотреть сообщение
и под ней в одномерный массив по столбцам.
Какая матрица, коли это всё записывается в одномерный массив?

Раз уж спешите - то выкладите по пунктам, что не так и чего не хватает, а то тяжело воспринимать.
И выложите конечный ваш код - ибо "заменил некоторые цифры" - звучит обнадеживающе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
10.06.2014, 00:45  [ТС]     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #22
ок. вот на 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <math.h>
#include <conio.h>
 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main()
{
    setlocale(LC_ALL, "");
 
    
    int matrix[5][5],  n;
    cout << "Введите размер матрицы (не более 5): ";
    cin >> n;
    cout << "Введите значения матрицы: " << std::endl;
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            cin >> matrix[i][j];
            cout << endl;
    int k = 0;
    for (int i = 0; i < 3; i++)
    {  
        for (int j = 0; j < 3; j++)
        {
            if(j >= 3-i-1)
            {
                massive[k] = matrix[j][i];
                cout << massive[k++] << " ";
            }
        }
    }
    cout << endl;
    for (int i = 0; i < k; i++)
    {   
        if (massive[i] < 0)
            massive[i] = 0;
        else
            massive[i] = 1;
        cout << massive[i] << " ";
    }
    _getch();
    return 0;   
}
вот я прекрасно понимаю что за чем нужно делать но вот как написать не знаю, хотя все команды которые должны быть в этой программе знаю и понимаю.
вот хочу изменить эту программу на заполнение матрицы вручную а не рандомно. и некоторые функции чтото типа printf , setw(), хотелось бы не использовать т.к. с этими командами не очень хорошо знаком. если это возможно то измените этот код программы на более легкий. заранее благодарен.
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
10.06.2014, 01:12     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #23
Danikor, очень не рекомендую использовать данный код.... У Kerry_Jr вроде всё нормально описано.

И что такое на вторую программу? О_О Это не задача для одной программы? их несколько, или мы не знаем какого-то условия

На счет заполнения = ни в одном примере не увидел рандомного заполнения...
Цитата Сообщение от Danikor Посмотреть сообщение
типа printf , setw(), хотелось бы не использовать
хм, посмотрите в гугле что это такое, к примеру:
Допустим работаем с матрицей и иногда числа состоят из разного количества цифр, в результате при желании вывести матрицу красиво в «столбик» происходит сдвиг.
Для решения этой проблемы существует функция setw(), которая указывает количество пространства для следующей записи что мы выведем на экран.
setw(2) указывает на то, что для m[i][j] выделяется минимум два символа, независимо от того будет иметь матрица одну или две цифры.
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
10.06.2014, 02:43  [ТС]     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #24
ты не понял.
в теме я записал 2 задания. то есть 2 разные программы. 1-вое задание я сделал. вот теперь обращаюсь со вторым заданием - вместо отрицательных чисел матрицы заменить на нули , положительные = 1. и я не уточнил.
нужно вывести на экран первоначальную матрицу . потом какие числа были изменены ну и уже окончательную матрицу с измененными элементами.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
10.06.2014, 11:26     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #25
Цитата Сообщение от IchMors Посмотреть сообщение
Danikor, очень не рекомендую использовать данный код.... У Kerry_Jr вроде всё нормально описано
так это и есть код Kerry_Jr!
Станислав9
1 / 1 / 2
Регистрация: 08.06.2014
Сообщений: 6
10.06.2014, 11:45     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #26
Посмотри, может поможет. Там сам вводишь размер матрицы и её числа.
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 <iostream>
using namespace std;
int main(){
    int n,i,j;
    cin >> n; //Вводишь размер матрицы
    int **mas = new int* [n];
    for (i=0;i<n;i++)
        mas[i]=new int [n];
    for (i=0;i<n;i++){      //Ввод чисел матрицы.
        for (j=0;j<n;j++){
            cin >> mas[i][j];
        }
    }
    cout << endl;
    for (i=0;i<n;i++){      //Замена отрицательных и положительных чисел.
        for(j=0;j<n;j++){
            if (mas[i][j]<0)
                mas[i][j]=0;
            else mas[i][j]=1;
            cout << mas[i][j] << "  ";
        }
        cout << endl;
    }
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
10.06.2014, 11:49     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #27
Станислав9, и где же освобождение памяти?
Станислав9
1 / 1 / 2
Регистрация: 08.06.2014
Сообщений: 6
10.06.2014, 11:52     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #28
Да, забыл в код дописать. После 23 строки надо добавить этот код:
C++
1
2
3
4
5
for(int i=0; i<n; i++)
  {
      delete mas[i];
  }
    delete [] mas;
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
10.06.2014, 12:45  [ТС]     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #29
как поменять местами максимальное и минимальное значение в одномерном массиве и потом вывести полученный массив?
Станислав9
1 / 1 / 2
Регистрация: 08.06.2014
Сообщений: 6
10.06.2014, 12:54     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #30
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main(){
    int i,*mas=new int, n,minimum,maximum;
    cin >> n;
    for (i=0;i<n;i++)
        cin >> mas[i];
    minimum=maximum=mas[0];
    for (i=0;i<n;i++){
        if (mas[i] > maximum)
            maximum = mas[i];
        if (mas[i] < minimum)
            minimum = mas[i];
    }
    cout << endl << endl;
    cout << "Maximum: " << maximum << endl;
    cout << "Minimum: " << minimum << endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 22:19     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам
Еще ссылки по теме:

Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив C++
Поменять местами элементы главной и вспомогательной диагонали C++
C++ Переписать произвольный двумерный массив в одномерный по столбцам

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

Или воспользуйтесь поиском по форуму:
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
18.06.2014, 22:19  [ТС]     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам #31
что у меня не так чтобы удаляло два первых и последний символы из слова?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <conio.h>
#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
 
String a;
 
cout<< "Enter word"<<endl;
 
cin >> a;
a.erase(0,2);
a.erase(a.length()-1,1);
cout<<a<<endl;
_getch();
}
Yandex
Объявления
18.06.2014, 22:19     Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам
Ответ Создать тему
Опции темы

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