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

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

Войти
Регистрация
Восстановить пароль
 
zaqwerty
2 / 2 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Вывести на экран матрицу порядка n (n=1..15) - элементы выводятся не в виде матрицы, а в виде строки - C++

03.05.2014, 11:06. Просмотров 744. Ответов 7
Метки нет (Все метки)

Здравствуйте. Нужно вывести на экран матрицу порядка n (n=1..15). Я написал программу, но при этом на экран элементы выводятся не в виде матрицы, а в виде строки. Можете подсказать, в чем ошибка?
Код программы приведен ниже?
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
#include <stdio.h>// îáúÿâëåГ*ГЁГҐ Г§Г*ãîëîâî÷Г*ûõ ГґГ*éëîâ
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <locale.h>
#define SIZE 15
int main()// ГЈГ«Г*ГўГ*Г*Гї ГґГіГ*êöèÿ; Г*Г*Г·Г*ëî ïðîãðГ*ììû
{   
setlocale(LC_ALL,"Russian");//ГґГіГ*êöèÿ, Г*åîáõîäèìГ*ÿäëÿîòîáðГ*æåГ*èÿðóññêîãîÿçûêГ*ГўГЄГ®Г*ñîëè
int i, j, n, a[SIZE][SIZE]; 
char c;
    printf ("Õîòèòå âûïîëГ*ГЁГІГј ïîèñê ГЁГ*äåêñîâ Г*ГҐГ*óëåâûõ ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ*?\n 1) Г„Г*\n 2) Âûõîä\n");
    scanf("%d",&c);
    switch (c)
{case 1:
 
    {
 
printf("Ââåäèòå ÷èñëî îò 1 äî 15 \n");
    scanf("%d",&n); 
if((n<0)||(n>15))
{
printf("Íåîáõîäèìî ГўГўГҐГ±ГІГЁ ÷èñëî n Гў ГЁГ*òåðâГ*ëå îò 1 äî 15");
return 0;
    }
else
 
for (i=0;  i<n; i++)
 
    {
        for (j=0;  j<n;  j++)
{
printf("Ââåäèòå ýëåìåГ*ГІГ» Г¬Г*òðèöû \n"); // Г§Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ* ñëó÷Г*Г©Г*ûìè Г·ГЁГ±Г«Г*ìè
printf("a[%d][%d]=",i+1,j+1);
scanf("%d",&a[i][j]);
//if((j=n-1)&&(i=n-1))
//printf("%4d", a[i][j]);
}
        printf("\n");
    }
    for (i=0;  i<n; i++)
 
    
        for (j=0;  j<n;  j++)
{printf("%4d\n", a[i][j]);}}
 
 
    for (i=0;  i<n; i++)
 
    {
        for (j=0;  j<n;  j++)     { 
    if (a[i][j]!=0)
    {printf("Г€Г*äåêñ i Г°Г*ГўГҐГ*%d\n",i+1);
    printf("Г€Г*äåêñ j Г°Г*ГўГҐГ*%d\n",j+1);
}}break;}
case 2:
    {printf("Áóäåò âûïîëГ*ГҐГ* âûõîä ГЁГ§ ïðîãðГ*ììû. ГЌГ*æìèòå ëþáóþ ГЄГ«Г*ГўГЁГёГі");
    
    break;}
    default: printf("Íåîáõîäèìî âûáðГ*ГІГј äåéñòâèå 1 èëè äåéñòâèå 2. ГЌГ*æìèòå ëþáóþ ГЄГ«Г*ГўГЁГёГі ");
 
}}
Код, с помощью которого я пытаюсь вывести матрицу:
C++
1
2
3
4
5
for (i=0;  i<n; i++)
 
    
        for (j=0;  j<n;  j++)
{printf("%4d\n", a[i][j]);}}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 11:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести на экран матрицу порядка n (n=1..15) - элементы выводятся не в виде матрицы, а в виде строки (C++):

Вывести на экран в виде матрицы все элементы заданного двумерного массива - C++
Составить программу которая выводит на экран в виде матрицы элементы двумерного массива, состоящего из 5 строки и 3 столбцов. Значения...

Ввести элементы двумерного массива с клавы С++.Нужно вывести его на экран в виде таблицы, в конце каждой строки надо вывести самый большой элемент - C++
Вот мой код : #include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; using std::cout; using std::cin; int...

Вывести матрицу на экран в заданном виде - C++
подскажите как вывести матрицу (А) на экран в виде: 2 2 2 2 и.т.п........ #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include...

Вывести на экран все строки данного массива одну за другой в виде целой строки - C++
Дан двумерный массив , состоящий из букв. 5 строк и 7 столбцов. Вывести на экран все строки данного массива одну за другой в виде целой...

Вывести массив на экран в виде таблицы, в конце каждой строки надо вывести минимальный элемент - C++
Ребят , как вывести маленький элемент , что изменить в коде знак &quot;&gt;&quot; меняю на &quot;&lt;&quot; - не выходит. #include &lt;iostream&gt; #include...

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

7
DmitryDidenko
4 / 4 / 2
Регистрация: 01.05.2014
Сообщений: 24
03.05.2014, 11:16 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
с помощью cout не проще вывести?

C++
1
2
3
4
5
6
7
8
9
#include <iostream> //добавь в начало проекта
using namespace std;
 
 
for (i=0;  i<n; i++)
 
    
        for (j=0;  j<n;  j++)
{ cout<<a[i][j]<<" ";} cout<<endl;}
1
nmcf
5776 / 5087 / 1739
Регистрация: 14.04.2014
Сообщений: 20,830
03.05.2014, 11:20 #3
C++
1
2
3
4
5
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++) printf("%4d", a[i][j]);
    printf("\n");
}
1
zaqwerty
2 / 2 / 1
Регистрация: 14.12.2013
Сообщений: 113
03.05.2014, 11:57  [ТС] #4
DmitryDidenko, спасибо, действительно помогло!
Есть еще один вопрос по данном циклу:
C++
1
2
3
4
5
6
7
8
 for (i=0;  i<n; i++)
 
    {
        for (j=0;  j<n;  j++)     { 
    if (a[i][j]!=0)
    {printf("Индекс i равен%d\n",i+1);
    printf("Индекс j равен%d\n",j+1);
}}
С его помощью я вывожу индексы ненулевых элементов, а мне нужно выводить сами ненулевые элементы. Я пытался сделать это с помощью данного цикла, но почему-то у меня выводятся только элементы первой строки:
C++
1
2
3
4
5
6
7
8
for (i=0;  i<n; i++)
 
    {
        for (j=0;  j<n;  j++)     { 
    if (a[i][j]!=0)
    {printf("ÝëåìåГ*ГІ a[%d][%d]=%d\n",i+1,j+1,a[i][j]);
    
}}
А мне нужно, чтобы выводились все ненулевые элементы матрицы. Не знаю, в чем ошибка

Добавлено через 1 минуту
nmcf, спасибо, ваш ответ тоже помог

Добавлено через 28 минут
nmcf, быть может, вы знаете ответ на вопрос?
0
DmitryDidenko
4 / 4 / 2
Регистрация: 01.05.2014
Сообщений: 24
03.05.2014, 12:28 #5
Цитата Сообщение от zaqwerty Посмотреть сообщение
С его помощью я вывожу индексы ненулевых элементов, а мне нужно выводить сами ненулевые элементы. Я пытался сделать это с помощью данного цикла, но почему-то у меня выводятся только элементы первой строки:
ну ты выводишь i+1, j+1 , а нужно a[i][j] выводить

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
for (i = 0; i < n; i++)
{
    for (j = 0; j < n; j++) 
if (a[i][j]!=0)
    printf("%4d", a[i][j]);
    printf("\n");
}
1
zaqwerty
2 / 2 / 1
Регистрация: 14.12.2013
Сообщений: 113
03.05.2014, 13:38  [ТС] #6
DmitryDidenko, но мне нужно вывести не только значения элементов, но и сами элементы с индексами. Должно быть в таком виде:
При n=2 (задает порядок матрицы):
Кликните здесь для просмотра всего текста
a[1][1]=0
a[1][2]=3
a[2][1]=6
a[2][2]=21

0 3
6 21

Элемент a[1][2]=3
Элемент a[2][1]=6
Элемент a[2][2]=21


Как-то так
0
DmitryDidenko
4 / 4 / 2
Регистрация: 01.05.2014
Сообщений: 24
03.05.2014, 14:59 #7
У вас выше вроде правильно написанно
1
zaqwerty
2 / 2 / 1
Регистрация: 14.12.2013
Сообщений: 113
03.05.2014, 17:00  [ТС] #8
DmitryDidenko, в том то и дело, что не работает так Выводит только элементы первой строки матрицы не понимаю почему

Добавлено через 2 минуты
DmitryDidenko, странно, заработало все
0
03.05.2014, 17:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 17:00
Привет! Вот еще темы с ответами:

Вывести на экран числа в заданном диапазоне в виде матрицы - C++
41 42 43 44 ... 50 51 52 53 54 ... 60 61 62 63 64 ... 70 71 72 73 74 ... 80 Заранее благодарю.

Вывести массив на экран в виде матрицы и найти наименьший элемент - C++
Нужно создать двумерный статический массив размерностью 2*3 вывести его на экран в виде матрицы и найти наименьший элемент массива . Если...

Вывести значения функции 2-х аргументов на экран в виде таблицы (матрицы): - C++
Напишите код, пожалуйста! В скобках указан шаг. Слева и справа от него начальное и конечное значение.

Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы - C++
Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы 3 * 3 (двохмирний массив)


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

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

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