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

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

Войти
Регистрация
Восстановить пароль
 
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
#1

Матрица и ее диагональ - C++

11.07.2014, 15:24. Просмотров 221. Ответов 4
Метки нет (Все метки)

дана квадратная матрица размером 7*7
она заполняется рандомными целыми числами, а
также выводится на экран. Вопрос 1: я хотел при
выводе матрицы использовать строку cout.width(4);
Но она не прошла. Компилятор что-то говорил не по-русски ...
Далее.
Эта матрица преобразуется по следующему алгоритму:
В главной диагонали берётся верхний элемент.
Он сравнивается со всеми элементами матрицы (кроме себя),
в случае равенства, тот элемент заменяется на 0. И так,
по-очереди поступают все элементы диагонали. Результат
выводится на экран.
Вопрос 2: как в программе использовать goto??
Компилятор что-то его не любит ...
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
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <time.h>
using namespace std;
 
int main()
{
    srand(time(NULL));
    int mas[7][7];
    int i, j, k, l;
    for (i = 0; i < 7; i++)
        for (j = 0; j < 7; j++)
            mas[i][j] = rand()% 20;
 
    for (i = 0; i < 7; i++){
        for (j = 0; j < 7; j++)
            cout << setw(4) << mas [i][j] ;
            cout << "\n";}
 
    for (k = 0; k < 7; k++)
        for (i = 0; i < 7; i++)
            for (j = 0; j < 7; j++){
                l=mas[k][k];
                if((l == mas[i][j]) && (i != j)) mas[i][j] = 0;}
    cout << endl;
 
    for (i = 0; i < 7; i++){
        for (j = 0; j < 7; j++)
            cout << setw(4) << mas [i][j] ;
            cout << "\n";}
    system("Pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2014, 15:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица и ее диагональ (C++):

Матрица (побочная диагональ) - C++
Создать матрицу, все элементы, которые ниже побочной диагонали сложить и этим числом заменить максимальный элемент матрицы

Матрица, главную диагональ заменить нулями - C++
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include&lt;stdlib.h&gt; void main() { int i,j; int mas; cout«&quot;vvedite...

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

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Главное диагональ массива - C++
Задание найти суму чисел главной диагонали массива. (квадратный массив). template &lt;class type&gt;void summ(type **b,type n) { type...

Диагональ двумерной матрицы - C++
Привет всем! На сегодняшний день уже второй раз обращаюсь и мне очень неловко. Но и иначе никак. Задача: Дана матрица С. Вычислить и...

4
SatanaXIII
Супер-модератор
Эксперт С++
5643 / 2678 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
11.07.2014, 15:29 #2
Цитата Сообщение от xod Посмотреть сообщение
И так, по-очереди поступают все элементы диагонали
Итерации бессмысленны. Первое значение еще ладно. а остальные уже будут не равны первому зануленному, если они конечно сами не нули, что так же тавтология.

Цитата Сообщение от xod Посмотреть сообщение
Но она не прошла. Компилятор что-то говорил не по-русски ...
Приведите текст ошибок.

Цитата Сообщение от xod Посмотреть сообщение
Вопрос 2
Пункт 5.16 Правил: Одна тема - один вопрос.
Если вы конечно не хотите применить goto конкретно к этому коду.
1
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
11.07.2014, 15:48  [ТС] #3
Мне кажется, что вы не правы. Диагональ матрицы защищена от
изменений. Хорошо, оператор goto подождет. Однако в этой теме
я хотел применить ещё один способ вывода матрицы, но не нашёл
ответа. Определённо вы знаете как вывести символ (число) в любое
место экрана. Или это невозможно?? Даже в бейсике есть такой
оператор Locate. Я только начал изучать язык Си++ . Для меня
матрицы - это плацдарм на котором я освою Си++. Не хочу писать
простые программы типа "привет вселенная". Помогите мне сделать
первый шаг. И я далеко пойду ....
0
SatanaXIII
Супер-модератор
Эксперт С++
5643 / 2678 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
11.07.2014, 15:52 #4
Цитата Сообщение от xod Посмотреть сообщение
Определённо вы знаете как вывести символ (число) в любое
место экрана. Или это невозможно?
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Пункт 5.16 Правил: Одна тема - один вопрос.
Цитата Сообщение от xod Посмотреть сообщение
Мне кажется, что вы не правы. Диагональ матрицы защищена от изменений.
Цитата Сообщение от xod Посмотреть сообщение
Эта матрица преобразуется по следующему алгоритму:
В главной диагонали берётся верхний элемент. Он сравнивается со всеми элементами матрицы (кроме себя), в случае равенства, тот элемент заменяется на 0
___
1
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
11.07.2014, 16:00  [ТС] #5
Приношу свои извинения. Но это опечатка.
Обнуляется не диагональный элемент (надо так оговориться!)
Спасибо вам!
0
11.07.2014, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2014, 16:00
Привет! Вот еще темы с ответами:

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

Главная диагональ матрицы - C++
Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный &quot;след&quot; (т.е. сумму элементов главной диагонали). Использовать...

Сортировка элементов в диагональ - C++
Как сортировать элементы А:char; которые находятся в диапазоне в главную диагональ с верхним регистром?

Главная диагональ матрицы - C++
Добрый вечер! Есть пару задач, с которыми не могу справиться, помогите плиз... Задача 1 Постановка задачи: Дана целочисленная...


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

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

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