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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 17
#1

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

24.01.2009, 17:20. Просмотров 1880. Ответов 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... просто посоветовали уменьшить для отладки) а назад вернуть забыл...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2009, 17:20     Ширина столбцов матрицы
Посмотрите здесь:

Сложение столбцов матрицы - C++
помогите решить задачу в с++ Задан двумерный массив 10 на 10 случайным образом. Вводим 2 числа от 1 до 10. нужно сложить...

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

Перестановка столбцов матрицы - C++
Помогите разобраться, суть задачи: Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк -...

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

Обнуление столбцов матрицы - C++
Дана матрица (любой размерности), нужно последовательно сравнивать столбцы друг с другом. И если есть совпадающие элементы, то полностью...

Сравнение столбцов матрицы - C++
Дана матрица NxN. Вывести на экран столбцы, содержащие одинаковый набор элементов (порядок следования элементов роли не играет). В...

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

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

Добавлено через 2 минуты 18 секунд
А как это на пальцах объяснить? Что-то вроде отступа?
Otaka
1823 / 679 / 18
Регистрация: 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;
//и еще много других манипуляторов вывода
Ширина поля вывода.
LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 17
24.01.2009, 18:03  [ТС]     Ширина столбцов матрицы #5
Написать можно) только тогда это будет очень большая матрица... все таки 9x7... А какими именно элементами она будет заполняться - не известно...
... эм... с iostream и iomanip пока не занком) Но думаю на данном этапе сойдет и способ с шириной поля ввода... Спасибо)
xToTa
13 / 13 / 0
Регистрация: 26.01.2009
Сообщений: 162
26.01.2009, 18:05     Ширина столбцов матрицы #6
А вообще `\t` это табуляция.
LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 17
26.01.2009, 18:09  [ТС]     Ширина столбцов матрицы #7
Это я знаю)) четверка стоит не перед \t, а между % и d...
Otaka
1823 / 679 / 18
Регистрация: 11.12.2008
Сообщений: 1,019
26.01.2009, 18:09     Ширина столбцов матрицы #8
Действительно. Я о ней и не подумал, наверное потому, что ниразу ей не пользовался.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
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]);
LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 17
27.01.2009, 16:03  [ТС]     Ширина столбцов матрицы #10
не знает - что такое maxlem. Что для него нужно подключить? Или самому писать функцию?
xToTa
13 / 13 / 0
Регистрация: 26.01.2009
Сообщений: 162
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... иначе действительно размажет на весь экран =)
LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 17
27.01.2009, 16:46  [ТС]     Ширина столбцов матрицы #12
Да думаю сойдет и поле ввода... Суть задачи не в этом... Но если что - думаю функцию написать смогу)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2009, 01:14     Ширина столбцов матрицы
Еще ссылки по теме:

Перестановка столбцов матрицы - C++
Дан двумерный числовой массив n*m. Найти массив получающийся перестановкой столбцов первого с последним, второй с предпоследним и т.д

сортировка столбцов матрицы - C++
Дана матрица, размерностью nxn, содержащая целые числа. Отсортировать каждый столбец матрицы с номером 2i по убыванию элементов, а с...

Сортировка столбцов матрицы - C++
У меня вопрос..... попытался выполнить сортировку четных столбцов по убыванию.... у меня зацикливается на вложенном &quot;for&quot; который перед if ...

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

Сдвиг столбцов матрицы - C++
Добрый вечер. Может кто помочь со следующей задачей? Заполнить двумерный массив случайными числами и показать на экран. Сдвинуть все...


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
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;
}
Yandex
Объявления
28.01.2009, 01:14     Ширина столбцов матрицы
Ответ Создать тему
Опции темы

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