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

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

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

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

04.06.2014, 23:53. Просмотров 1097. Ответов 30
Метки нет (Все метки)

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

Переписать произвольный двумерный массив в одномерный по столбцам - C++
-Переписать произвольный двумерный массив в одномерный по столбцам.

Дан массив A(23). Переписать в новый массив все элементы, расположенные после последнего отрицательного. - C++
Задача Дан массив A(23). Переписать в новый массив все элементы, расположенные после последнего отрицательного. В новом массиве...

Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) - C++
задан массив x(n).элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный...

Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив - C++
Нужно элементы расположены на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в...

Поменять местами элементы главной и вспомогательной диагонали - C++
Проверьте, пожалуйста на правильность! Задание: поменять местами элементы главной и вспомогательной диагонали! for (int i = 0; i <...

Элементы матрицы переписать построчно в одномерный массив - C++
Задача - элементы заданой матрицы A(N,N) переписовать построчно в одномерный массив до тех пор, пока не встретится нулевой элемент.(в С++)

30
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
09.06.2014, 13:45  [ТС] #16
еще раз повторяю что про динамический массив и не упоминалось ни в задании ни в лекциях.
вторая проблема - программа попросту не работает ( пишу ее в dev c++) или же выбивает такую ошибку:
[Error] ярярш.cpp: No such file or directory
в чем проблема?
уже какой день не могу с этим заданием разобраться
0
Kuzia domovenok
2059 / 1904 / 174
Регистрация: 25.03.2012
Сообщений: 6,555
Записей в блоге: 1
09.06.2014, 14:09 #17
Цитата Сообщение от Danikor Посмотреть сообщение
уже какой день не могу с этим заданием разобраться
ты по-нормальному опиши, что не так? А-то вторую страницу уже не пойму что обсуждают тут. Тебя Kerry_Jr спросил, чем тот вариант не нравится? У него никаких динамических массивов нет, а значит проблема решена несколько постов назад. Что теперь-то не так?
0
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
09.06.2014, 14:20  [ТС] #18
значит было так . скопировал текст проги . потом скомпилировал - все окей, без ошибок, запустил прогу - и когда я вводил значения - то вводил более 20 раз.
изменил некоторые цифры в тексте - сохранил - опять компилирую - все окей - запускаю - опять та же штука: заполняю матрицу цифрами с каждой строки т.е. я не вижу какие цифры будут в строках или же столбцах. потом уже если есть результат то выводит только те цифры которые изменило, по идее все элементы матрицы но не выводит полученную матрицу.
0
IrineK
09.06.2014, 16:20
  #19

Не по теме:

Цитата Сообщение от Danikor Посмотреть сообщение
не упоминалось ни в задании ни в лекциях
Плохо, чтоб не сказать грубее, но по сути.

0
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
10.06.2014, 00:08  [ТС] #20
если это показалось грубо , то прошу прощения, просто уже реально время поджимает.
0
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
10.06.2014, 00:20 #21
Цитата Сообщение от Danikor Посмотреть сообщение
но не выводит полученную матрицу.
Цитата Сообщение от Danikor Посмотреть сообщение
и под ней в одномерный массив по столбцам.
Какая матрица, коли это всё записывается в одномерный массив?

Раз уж спешите - то выкладите по пунктам, что не так и чего не хватает, а то тяжело воспринимать.
И выложите конечный ваш код - ибо "заменил некоторые цифры" - звучит обнадеживающе
0
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(), хотелось бы не использовать т.к. с этими командами не очень хорошо знаком. если это возможно то измените этот код программы на более легкий. заранее благодарен.
0
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
10.06.2014, 01:12 #23
Danikor, очень не рекомендую использовать данный код.... У Kerry_Jr вроде всё нормально описано.

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

На счет заполнения = ни в одном примере не увидел рандомного заполнения...
Цитата Сообщение от Danikor Посмотреть сообщение
типа printf , setw(), хотелось бы не использовать
хм, посмотрите в гугле что это такое, к примеру:
Допустим работаем с матрицей и иногда числа состоят из разного количества цифр, в результате при желании вывести матрицу красиво в «столбик» происходит сдвиг.
Для решения этой проблемы существует функция setw(), которая указывает количество пространства для следующей записи что мы выведем на экран.
setw(2) указывает на то, что для m[i][j] выделяется минимум два символа, независимо от того будет иметь матрица одну или две цифры.
0
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
10.06.2014, 02:43  [ТС] #24
ты не понял.
в теме я записал 2 задания. то есть 2 разные программы. 1-вое задание я сделал. вот теперь обращаюсь со вторым заданием - вместо отрицательных чисел матрицы заменить на нули , положительные = 1. и я не уточнил.
нужно вывести на экран первоначальную матрицу . потом какие числа были изменены ну и уже окончательную матрицу с измененными элементами.
0
Kuzia domovenok
2059 / 1904 / 174
Регистрация: 25.03.2012
Сообщений: 6,555
Записей в блоге: 1
10.06.2014, 11:26 #25
Цитата Сообщение от IchMors Посмотреть сообщение
Danikor, очень не рекомендую использовать данный код.... У Kerry_Jr вроде всё нормально описано
так это и есть код Kerry_Jr!
0
Станислав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;
    }
}
0
Kuzia domovenok
2059 / 1904 / 174
Регистрация: 25.03.2012
Сообщений: 6,555
Записей в блоге: 1
10.06.2014, 11:49 #27
Станислав9, и где же освобождение памяти?
0
Станислав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;
0
Danikor
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 33
10.06.2014, 12:45  [ТС] #29
как поменять местами максимальное и минимальное значение в одномерном массиве и потом вывести полученный массив?
0
Станислав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;
}
0
10.06.2014, 12:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2014, 12:54
Привет! Вот еще темы с ответами:

Переписать в одномерный массив элементы матриц А и В, имеющие одинаковые индексы - C++
Помогите. Вот задачка: Заданные две квадратные матрицы одинакового размера - А и В. Переписать в одномерный массив R те элементы...

переписать в одномерный массив ненулевые элементы и найти наибольшее по модулю - C++
Из матрицы В(4,4) переписать в одномерный массив С ненулевые элементы и найти наибольшее из них по модулю Не знаю как переисывать из...

Переписать в одномерный массив элементы матриц А и В, имеющие одинаковые индексы - C++
Помогите. Заданные две квадратные матрицы одинакового размера - А и В. Переписать в одномерный массив R те элементы матриц А и В, имеющие...

Переписать все элементы з матрицы С в одномерный массив F, отсортировать его по возрастанию - C++
В мастрици С количество столбик в каждой строке случайным натуральным числом с интервала (a; b) но общее количество элементов ...


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

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

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