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

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

Войти
Регистрация
Восстановить пароль
 
aleks_pilipenko
)))
605 / 220 / 9
Регистрация: 31.12.2009
Сообщений: 2,211
Записей в блоге: 3
#1

Массив выводится неправильно - C++

25.03.2012, 18:13. Просмотров 451. Ответов 5
Метки нет (Все метки)

пишу в Visual Studio вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for(int i=0; i<5; i++)
        { 
            printf("Введите %d Строку\n",i+1);
            for(int j=0; j<5; j++)
            {   cin >>A[j][i];
            }
        }
 
    for(int i2=0; i2<5; i2++)
        { 
        char results[100]="";
        for(int j=0; j<5; j++)
            {   
            sprintf(results, "%d %s", A[j][i2], results); 
            }
        printf("%s\n", results);
        }
Во все строки ввожу поочередно значения 1,2,3,4,5.. Когда sprintf их складывает, сначала получается 2 единицы, потом 3 двойки и т.д. Почему так? И как исправить?
После C# вообще в шоке, сколько заморочек ни о чем...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 18:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив выводится неправильно (C++):

Неправильно выводится массив - C++
Помогите. Я создаю массив в отдельном файле класса: char town22 = { ...

Почему неправильно выводится массив? - C++
Не пойму... массив arr выводится неправильно, если его выводить в main.Получается что-то типа &quot;-858993460&quot; .В cifr он выводится нормально ...

Стек выводится неправильно - C++
void LoadFileToStack() { FILE *file; file = fopen(&quot;file.txt&quot;, &quot;r&quot;); char p; quee* first = new quee; quee* q = 0; quee*...

Неправильно выводится список - C++
Помогите разобраться. Почему не получается использовать связной список где не используются указатели в качестве объекта для ввода...

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

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

5
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
25.03.2012, 18:21 #2
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
Во все строки ввожу поочередно значения 1,2,3,4,5..
Как я понимаю вы хотите найти сумму??

так почему у вас переменная results, строкового типа??

или вы хотите соеденить строки?
0
retmas
Жарю без масла
864 / 746 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
25.03.2012, 18:21 #3
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
sprintf их складывает
sprintf этого не умеет
0
aleks_pilipenko
)))
605 / 220 / 9
Регистрация: 31.12.2009
Сообщений: 2,211
Записей в блоге: 3
25.03.2012, 19:10  [ТС] #4
Цитата Сообщение от Infinity3000 Посмотреть сообщение
Как я понимаю вы хотите найти сумму??
Нет мне надо именно отобразить матрицу до и после преобразования(преобразование - простая перестановка столбцов со строками)
0
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
25.03.2012, 19:27 #5
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
Нет мне надо именно отобразить матрицу до и после преобразования(преобразование - простая перестановка столбцов со строками)
После какого преобразование, что именно хотите с матрицей сделать? конкретней изложите ситуацию?
0
aleks_pilipenko
)))
605 / 220 / 9
Регистрация: 31.12.2009
Сообщений: 2,211
Записей в блоге: 3
25.03.2012, 19:38  [ТС] #6
Цитата Сообщение от Infinity3000 Посмотреть сообщение
После какого преобразование,
Дело не в преобразовании! Мне надо вывести матрицу на экран, чтобы 5х5 было, как есть...
После преобразования выводить точно так же 5х5...
sprintf не показывает как нужно...
Пока писал, придумал, что надо сделать:
C++
1
2
3
4
5
6
7
8
9
for(int i2=0; i2<5; i2++)
        { 
        char results[100]="";
        for(int j=0; j<5; j++)
            {   
            printf("%d ", A[j][i2]); 
            }
        printf("\n");
        }
Я так и не понял, почему sprintf что попало делает, так сказать, из каких соображений?
0
25.03.2012, 19:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 19:38
Привет! Вот еще темы с ответами:

Найдите ошибку, неправильно выводится произведение - C++
7.1 Дан массив из N элементов (вещественные числа). Вы- числить: 1) сумму отрицательных элементов массива; 2) произ- ведение элементов...

Неправильно выводится результат вычисления функции - C++
Где ошыбка? #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; float Suma (int x, int s, int z); ...

Операции с длинными числами - неправильно выводится результат - C++
Здравствуйте, помогите с операцией умножение неправильно выводит рез-тат, например 555 * 3 = 555

Неправильно выводится максимальный элемент массива и его индекс - C++
Программа неправильно выводит максимальный элемент и его индекс, как это исправить #include &lt;iostream&gt; #include &lt;cmath&gt; using...


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

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

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