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

Массив: При выполнении условия изменить матрицу A, прибавив к элементам каждой строки заданные элементы x1,x2,…,x5. - C++

Восстановить пароль Регистрация
 
LaSkReN
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 33
11.04.2013, 12:22     Массив: При выполнении условия изменить матрицу A, прибавив к элементам каждой строки заданные элементы x1,x2,…,x5. #1
Если сумма двух первых строк матрицы A меньше суммы элементов двух последних ее строк, изменить матрицу A, прибавив к элементам каждой строки заданные элементы x1,x2,…,x5.
ввод вручную.

Добавлено через 2 часа 5 минут
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
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include "iostream"
#include <cstdlib>
#include <cstdio>
#include"time.h"
#include"iomanip"
using namespace std;
void task_1();
void task_2();
int main()
{system("cls");
    setlocale(LC_ALL,"rus");
        while(true) {
                int item = 0;
cout<<"\n\tМеню\n";
cout<<"\t1. Задача 1\n";
cout<<"\t2. Задача 2\n";
cout<<"\t0. Выход\n";
cout<<"Введите номер пункта: "; 
cin>>item;
switch(item) 
{ case 1: { task_1();break;
}case 2: {task_2();break;}
case 0: {exit(0); }
default:  continue; } }
        return 0;
}
void task_1()
{system("cls");
int i,j,mas[15][15],m,n;
cout<<"Введите размер массива:"<<endl;
cin>>n;
cin>>m;
srand(time(0));
cout<<"Ваш Массив."<<endl;
for(i=0;i<n;i++){
    for(j=0;j<m;j++){
mas[n][m]=rand()%15+1;
cout<<setw(2)<<mas[n][m]<<"  ";}
cout<<"\n";
}
 
    for(j=0;j<m;j++){
        cout<<mas[1][j];}
 
 
 
 
}
void task_2()
{system("cls");
}
вот это я сделал 2войд для рандомного ввода потом использовать буду так понять не могу почему при попытке вывода 1 строки массива он выводит 1 и то же число ошибочное
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 12:22     Массив: При выполнении условия изменить матрицу A, прибавив к элементам каждой строки заданные элементы x1,x2,…,x5.
Посмотрите здесь:

Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В. C++
C++ Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В
Массив: Изменить матрицу, прибавляя к каждому отрицательному элементу значение предыдущего элемента той же строки. C++
Из существующей матрицы n*m записать в новую матрицу все элементы исходной матрицы, кроме максимального и минимального элемента из каждой строки C++
При выполнении условия не выходит из цикла C++
C++ Что нужно изменить, чтобы выводило максимальный элемент каждой строки в одномерный массив?
C++ Получить новую матрицу, прибавив к элементам каждой строки минимум по строке
C++ При выполнении условия завершать цикл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
11.04.2013, 13:46     Массив: При выполнении условия изменить матрицу A, прибавив к элементам каждой строки заданные элементы x1,x2,…,x5. #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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iosrtream>
#include <ctime>
#include <stdlib>
 
void fillMatrixWithRandom   (int **, int, int);     // auto input matrix[a][b]
void printMatrix            (int **, int, int);     // output maxtrix
void fillArrayManualy       (int *, int, int);
void printArray             (int *, int);
 
int main() {
    srand(time (NULL));
    std::cout << "Enter size of matrix(x,y): ";
    int row, column;
    std::cin  >> row >> column;
    
    int **pMatrix = new int* [row];
    int *pArray   = new int  [column];
    for (int i = 0; i < row; i++, pMatrix[i] = new int [column]);
    
    std::cout << "Matrix [" << row << "][" << column <<"] created\nArray[" << column << "] created" << std::endl;
    
    fillMatrixWithRandom(pMatrix, row, column);
    std::cout << std::endl << "Generated matrix: ";
    printMatrix(pMatrix, row, column);
    
    fillArrayManualy(pArray, column);
    printArray(pArray, column);
    
    int totalFirstAndSecond = 0;
    int totalPenultAndLast  = 0;
    
    for ( int i = 0; i < column; i ++) {
        totalFirstAndSecond += pMatrix[0][i];
        totalFirstAndSecont += pMatrix[1][i];
        totalPenultAndLast  += pMatrix[row-1][i];
        totalPenultAndLast  += pMatrox[row-2][i];
    }
    
    if ( totalFirstAndSecond < totalPenulAndLast ) {
        for ( int i = 0; i < row; i ++;) { 
            for ( int j = 0; j < column; j++) {
                pMatrix[i][j] += pArray[j];
            }
        }
        std::cout << totalFirstAndSecond << " < " << totalPenultAndLast << std::endl <<  "Resulted matrix:\n\n";
        printMatrix(pMatrix, row, column);
    }
    
    std::cin.get();
    std::cin.get();
 
    return 0;
}
 
void fillMatrixWithRandom( int ** matr, int row, int column )
{
    for ( int i = 0; i < row; i ++ )
        for ( int j = 0; j < column; j ++ )
            matr[i][j] = std::rand() % 50 - rand() % 25;
 
}
 
void printMatrix ( int **matrix, int row, int column )
{
    cout << endl;
    for ( int i = 0; i < row; i ++ )
    {
        for ( int j = 0; j < column; j ++ )
            cout << matrix[i][j] << "\t";
        cout << endl;
    }
}
 
 
void fillArrayManualy  ( int * massiv, int column )
{
    
    for ( int i = 0; i < column; i ++ ) {
        std::cout << "Input array [" << i << "] element : ";
        std::cin >> massiv[i];
    }
    
}
 
void printArray ( int * massiv, int column )
{
    std::cout << std::endl;
    for ( int i = 0; i < column; i ++ )
        std::cout << massiv[i] << "\t";
    std::cout << std::endl;
}
Добавлено через 17 минут
ща тестировщица наша ввела два числа через запятую. надо рефакторить в два ввод
Yandex
Объявления
11.04.2013, 13:46     Массив: При выполнении условия изменить матрицу A, прибавив к элементам каждой строки заданные элементы x1,x2,…,x5.
Ответ Создать тему
Опции темы

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