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

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

24.01.2009, 17:20. Показов 4043. Ответов 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
1853 / 710 / 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
1853 / 710 / 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
1853 / 710 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.01.2009, 18:09 8
Действительно. Я о ней и не подумал, наверное потому, что ниразу ей не пользовался.
0
4857 / 3278 / 467
Регистрация: 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
4857 / 3278 / 467
Регистрация: 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® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.