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

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

Войти
Регистрация
Восстановить пароль
 
I_Masha_I
2 / 2 / 0
Регистрация: 14.10.2012
Сообщений: 53
#1

Напечатать матрицу по k элементов в строке - C++

29.10.2012, 11:55. Просмотров 339. Ответов 1
Метки нет (Все метки)

Дана целочисленная матрица T(N, L), N<=7, L<=9. Напечатать матрицу по k элементов в строке (2<=k<=6).
При этом k<=L. Напечатать также номера строки столбцов.
Например при N = 2, L = 5, k = 3
для матрицы
7 7 7 7 7
8 8 8 8 8
печать должна быть такой:
ActionScript 3
1
2
3
4
5
6
7
   1   2   3
1  7   7   7
2  8   8   8
 
   4   5
1  7   7
2  8   8
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
#include "stdafx.h"
#include <locale>
#include <iostream>
using namespace std;
 
void vvod_matrix(int **t,int n, int l)          
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<l;j++)
            cin>>t[i][j];
        cout<<endl;
    }
}
 
void vivod(int **t, int n, int k)        //вывод номеров строк и элементов матрицы
{
    for(int i = 0; i<n; i++, cout<<endl)
        {
            cout<<i+1<<" ";
            for (int j = 0; j<k; j++)
            {
                cout<<t[i][j]<<" ";
            }
        }
    cout<<endl;
}
 
int main()
{
    int n, l, **t, m, k, x, s;
    setlocale(LC_ALL, "Russian");
    cout<<"Ведите размерность матрицы: Количество строк = ";
    cin>>n;
    cout<<"Количество столбцов = ";
    cin>>l;
    m = n*l;
    x = 0;
 
    t = (int**)malloc(m*sizeof(int));   
    for(int i=0; i<m; i++)
        t[i]=(int*)malloc(m*sizeof(int));
    cout<<"Введите матрицу:"<<endl;
    vvod_matrix(t, n, l);
    cout<<"Введите k: ";
    cin>>k;
 
    while(?)                             //???
    {
        cout<<"  ";
        for (int j = x; j<k; j++) //цикл для вывода номеров столбцов
        {
            cout<<j+1<<" ";
        }
        cout<<endl;
        vivod(t, n, k);
        x+=k;               //???
    }
 
 
    system("PAUSE");
    return 0;
}
У меня получается вывести только первую часть, то есть вот это
ActionScript 3
1
2
3
   1   2   3
1  7   7   7
2  8   8   8
У меня проблема с выводом номеров столбцов во второй раз, я поставила вопросительные знаки в тех местах где я сомневаюсь
Помогите пожалуйста дописать программу
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2012, 11:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напечатать матрицу по k элементов в строке (C++):

Получить новую матрицу делением всех элементов матрицы на среднее арифметическое элементов заданной строке - C++
Вводится матрица размером NxN. Получить новую матрицу путем деления всех элементов матрицы на среднее арифметическое элементов L- строке.

Рассматривая матрицу как вектор строк, упорядочить ее по количеству нечетных элементов в каждой строке - C++
#include &lt;iostream.h&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; #include&lt;time.h&gt; int main() { const int m=4; float...

Найти все цифры в строке. каждую цифру напечатать в отдельной строке - C++
Помогите пожалуйста

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

В двумерном массиве все числа различны.В каждой строке находим мин.элемент,затем среди этим мин.элементов выбираем максимальный.Напечатать индексы. - C++
В двумерном массиве все числа различны.В каждой строке находим мин.элемент,затем среди этим мин.элементов выбираем максимальный.Напечатать...

Сформировать квадратную матрицу; транспонировать матрицу и инвертировать порядок элементов каждой ее строки - C++
Заданы два одномерных массива одинаковой длины: R и S.Сформировать квадратную матрицу A, каждый элемент которой, что находится в i-той...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Gregory_Mas
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 26
29.10.2012, 12:42 #2
Попробуй все сделать через вайл.
Т.е. будет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
while (j!=(L+1))
{
for (int i=0; i<N; i++)
   {
      for (int k=0; k<3; k++)
      {
         cout<<T[i][j]<<" ";
         j++;
      }
cout<<endl<<endl;
}
cout<<endl<<endl;
}
Это должны вывестись элементы массива. Вывод индексов можно сделать по аналогии, только надо добавить условия, чтобы выводились 1 раз.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 12:42
Привет! Вот еще темы с ответами:

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

переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам) - C++
с паскаля на с++...буду очень признателен. вот текст задачи. Квадратная матрица, симметричная относительно главной диагонали, задана своим...

Дан целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов - C++
дано целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов, на нечетных местах и их...

Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке - C++
1.Сформировать квадратную матрицу 000001 000020 000300 0n-10000 n00000 2.Дан двумерный массив. найти количество элементов в...


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

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

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