0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
1

Ширина столбцов матрицы

24.01.2009, 17:20. Показов 4755. Ответов 12
Метки нет (Все метки)

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
#include<stdio.h>
#include<conio.h>
#define A 3
#define B 2
int main()
{
    int mass[A][B],i,j,a,b,s=0;
    clrscr();
    printf("input mass\n");
    for(i=0;i<A;i++)
        for(j=0;j<B;j++)
            scanf("%d",&mass[i][j]);
    for(i=0;i<A;i++)
        {
        printf("\n");
        for(j=0;j<B;j++)
            printf("%d\t",mass[i][j]);
        }
    printf("\n\ninput a\n");
    scanf("%d",&a);
    printf("input b\n");
    scanf("%d",&b);
    for(i=a-1;i<b;i++)
        for(j=0;j<B;j++)
            s+=mass[i][j];
    printf("summa=%d\n\n",s);
    printf("press any key");
    getch();
    return 0;
}
Как модифицировать задачу так, что бы при выведении матрицы на экран ширина всех столбцов была одинаковой? Ибо в нынешнем своем виде если вводить например однозначные и двузначные числа - то столбцы матрицы жутко корёжит... Так вроде прога работает нормально, но выравнивание столбцов - одно из условий задачи... Подскажите - как это реализовать. Через поиск вроде не нашел.

Добавлено через 19 минут 3 секунды
Ой... вообще размерность массива 9x7... просто посоветовали уменьшить для отладки) а назад вернуть забыл...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2009, 17:20
Ответы с готовыми решениями:

Сортировка столбцов матрицы по возрастанию последних элементов столбцов
Сортировка столбцов по росту последних элементов столбцов.Помогите пожалуйста, надо только фрагмент...

Вывести на экран номера столбцов матрицы, сумма которых превышает заданную величину, и число таких столбцов
Всем привет!:) Прошу помощи в написании программы, а точнее доведении ее до ума. Условие следующее:...

Найти номера тех столбцов матрицы, сумма элементов которых превышает заданную величину, и число таких столбцов
Для матрицы из 3 строк и 7 столбцов отпечатать номератех слобцов, сумма элементов которых превышает...

Ошибка при вводе разного кол-ва строк и столбцов в матрицы. Динамич. матрицы/массивы
Дана матрица, размерность вводит пользователь, данные тоже. Осуществить сортировку вставками,...

12
1856 / 713 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
24.01.2009, 17:41 2
C++
1
printf("%4d\t",mass[i][j]);
1
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
24.01.2009, 17:52  [ТС] 3
Во... нормально) Только все таки если в массиве есть числа из 5 символов то снова начинается смещение... Но думаю прокатит... А есть еще какие-нибудь способы? На будущее)

Добавлено через 2 минуты 18 секунд
А как это на пальцах объяснить? Что-то вроде отступа?
0
1856 / 713 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
24.01.2009, 17:55 4
А написать %10d нельзя?
При использовании консоли хорошо пользоваться cout из iostream.h и манипуляторами из iomanip.h
Там можно писать так:
C++
1
2
3
cout<<setw(5)<<45<<endl;
cout<<setw(6)<<setprecision(2)<<46.6;
//и еще много других манипуляторов вывода
Ширина поля вывода.
0
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
24.01.2009, 18:03  [ТС] 5
Написать можно) только тогда это будет очень большая матрица... все таки 9x7... А какими именно элементами она будет заполняться - не известно...
... эм... с iostream и iomanip пока не занком) Но думаю на данном этапе сойдет и способ с шириной поля ввода... Спасибо)
0
13 / 13 / 1
Регистрация: 26.01.2009
Сообщений: 156
26.01.2009, 18:05 6
А вообще `\t` это табуляция.
0
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
26.01.2009, 18:09  [ТС] 7
Это я знаю)) четверка стоит не перед \t, а между % и d...
0
1856 / 713 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.01.2009, 18:09 8
Действительно. Я о ней и не подумал, наверное потому, что ниразу ей не пользовался.
0
4863 / 3285 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
27.01.2009, 00:33 9
Код
#define A 3  
#define B 2

    int mass[A][b]
Код
    printf("%*d", (maxelem > 100000 ? 10 : 5), mass[i][j]);
0
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
27.01.2009, 16:03  [ТС] 10
не знает - что такое maxlem. Что для него нужно подключить? Или самому писать функцию?
0
13 / 13 / 1
Регистрация: 26.01.2009
Сообщений: 156
27.01.2009, 16:12 11
maxelem это ты сам должен функцию написать маленькую... функцию нахождения максимального элемента всей матрицы, а это я думаю не так уж сложно для тебя

оно просто заменяет * между % и d на число 5 если максимальный элемент < 10000, т.е. 4 цифры, или на 10 если максимальный элемент более 4 цифр...
только в строке printf("%*d", (maxelem > 100000 ? 10 : 5), mass[i][j]); надо сравнение делать не просто >, а >=

И мне кажется достаточно будет и не 10, а всего 7-8... иначе действительно размажет на весь экран =)
1
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
27.01.2009, 16:46  [ТС] 12
Да думаю сойдет и поле ввода... Суть задачи не в этом... Но если что - думаю функцию написать смогу)
0
4863 / 3285 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.01.2009, 01:14 13
Код
printf("%*d", (abs(maxelem) > 9999  ? 12 : 6), mass[i][j]);
int помещает 2147483647 и -2147483648

Добавлено через 4 минуты 0 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
#include <stdio.h>
 
/* находит максимальный элемент матрицы */
main()
{
    int mtx[3][3] = {
        1, 2, 3,
        4, 5, 6,
        1, 7, 3
    };
    int i, j, maxelem;
    
    for (maxelem = i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            if (maxelem < mtx[i][j])
                maxelem = mtx[i][j];
    printf("%d\n", maxelem);
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2009, 01:14
Помогаю со студенческими работами здесь

Перестановка столбцов матрицы
Переставить столбцы матрицы так, чтоб элементы первой строки были расставлены по...

Сортировка столбцов матрицы
Помагите пожалуйсто нужно отсортиовать столбцы матрицы по возростанию нижней строки например : ...

Сортировка столбцов матрицы
Было дано задание: &quot;Написать программу обработки матриц. Программа должна иметь текстовое меню,...

Среднеарифметическое столбцов матрицы
Ниже код создания и заполнение двумерного динамического массива вещественными числами. Как найти...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru