Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
1

Ошибочный вывод массива через функцию

22.01.2014, 23:53. Просмотров 269. Ответов 5
Метки нет (Все метки)

Помогите исправить код...
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
const int size = 3;
const int n = 2;
const int s = 1;
const float a[size][size] = {{3.1,1.6,9.3},
{1.5,2.3,4.5},
{2.2,6.4,4.4}};
 
 void out(const float *mas)
{
 cout << "Array B:" << endl;
 for (int i = 0; i < size; i++) cout << setw(8) << mas[i];
 cout << endl;
}
 
void in()
{
    float b[size];
 cout << "Array A:" << endl;
 for (int i = 0; i < size; i++)
 {
 for (int j = 0; j < size; j++) cout << setw(4) << a[i][j];
     cout << endl;
 }
    for (int i = 0; i < size; i++)
        b[i] = a[i][n] / a[i][s];
}
 
 int _tmain(int argc, _TCHAR* argv[])
{ 
    float b[size];
    in();
    out(b);
    system("pause");
    return 0;
}
почему массив выводится в таком непонятном формате? скорее всего, напутал с аргументами при вводе функции...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 23:53
Ответы с готовыми решениями:

Вывод двумерного массива через функцию
Задача - вывести двумерный массив, используя функцию. Одно условие: делать это...

Вывод динамического двумерного массива через функцию
Имею следующий код: void matrix_output (int **matrix, int N) { ...

Нахождение основных значений оформить через функцию RESHENIE(), ввод данных и вывод на печать через функцию MAIN()
а помогите теперь эту задачку #include &lt;iostream&gt; int main() { int last...

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

Вывод через функцию
Помогите пожалуйста. Пытаюсь сделать вывод через функцию, но не получается...

5
nikolay1982
121 / 121 / 59
Регистрация: 22.01.2014
Сообщений: 419
23.01.2014, 00:03 2
Смотри, функция in(). Как ты хочешь из нее получить данные масива b, если он обявлен в теле функции, то есть образуется в кадре функции?
Либо сделать обявления b везде static, либо использовать предачу по ссылке в in().
0
S_el
2151 / 1679 / 353
Регистрация: 15.12.2013
Сообщений: 6,644
23.01.2014, 00:05 3
Цитата Сообщение от booogabooo Посмотреть сообщение
Помогите исправить код...
А что сделать нужно?
0
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
23.01.2014, 00:07  [ТС] 4
Цитата Сообщение от S_el Посмотреть сообщение
А что сделать нужно?
Так, чтобы код работал исправно...
0
cooller
565 / 533 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
23.01.2014, 00:11 5
booogabooo, Вы передаете массив b в функцию вывода, но он не инициализирован. И естественно выводится мусор

Добавлено через 2 минуты
booogabooo, Вот, исправил
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
const int size = 3;
const int n = 2;
const int s = 1;
const float a[size][size] = {{3.1,1.6,9.3},
{1.5,2.3,4.5},
{2.2,6.4,4.4}};
 
 void out(const float *mas)
{
 cout << "Array B:" << endl;
 for (int i = 0; i < size; i++) 
     cout << setw(8) << mas[i];
 cout << endl;
}
 
void in(float *b)
{
 
 cout << "Array A:" << endl;
 for (int i = 0; i < size; i++)
 {
 for (int j = 0; j < size; j++) cout << setw(4) << a[i][j];
     cout << endl;
 }
    for (int i = 0; i < size; i++)
        b[i] = a[i][n] / a[i][s];
}
 
 int _tmain(int argc, _TCHAR* argv[])
{ 
    float b[size];
    in(b);
    out(b);
    system("pause");
    return 0;
}
1
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
23.01.2014, 00:26  [ТС] 6
Спасибо большое...
0
23.01.2014, 00:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2014, 00:26

Заполнение массива через rand и вывод на экран через указатели
Учитель задал заполнить массивы и случайными числами и вывезти на экран через...

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

Непонятный вывод структуры через функцию
#include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; struct st ...


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

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

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