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

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

Войти
Регистрация
Восстановить пароль
 
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
#1

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

22.01.2014, 23:53. Просмотров 193. Ответов 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;
}
почему массив выводится в таком непонятном формате? скорее всего, напутал с аргументами при вводе функции...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 23:53     Ошибочный вывод массива через функцию
Посмотрите здесь:

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

Вывод динамического двумерного массива через функцию - C++
Имею следующий код: void matrix_output (int **matrix, int N) { for (int i=0; i&lt;N; i++) { for...

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

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

заполнение массива через rand и вывод на экран через указатели - C++
Учитель задал заполнить массивы и случайными числами и вывезти на экран через указатели, через функцию rand выводит как вы понимаете одни...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nikolay1982
93 / 93 / 38
Регистрация: 22.01.2014
Сообщений: 313
23.01.2014, 00:03     Ошибочный вывод массива через функцию #2
Смотри, функция in(). Как ты хочешь из нее получить данные масива b, если он обявлен в теле функции, то есть образуется в кадре функции?
Либо сделать обявления b везде static, либо использовать предачу по ссылке в in().
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
23.01.2014, 00:05     Ошибочный вывод массива через функцию #3
Цитата Сообщение от booogabooo Посмотреть сообщение
Помогите исправить код...
А что сделать нужно?
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
23.01.2014, 00:07  [ТС]     Ошибочный вывод массива через функцию #4
Цитата Сообщение от S_el Посмотреть сообщение
А что сделать нужно?
Так, чтобы код работал исправно...
cooller
565 / 533 / 120
Регистрация: 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2014, 00:26     Ошибочный вывод массива через функцию
Еще ссылки по теме:

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

Простой список в виде массива.Как работать с элементами списка-массива через единую функцию - C++
Добрый день!Подсобите,как реализовать Простой список,но не через шаблоны или создание указателей,а как бы в виде массива.(Ну,или ваш...

Минимум массива через функцию - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; void mi(mas){ int minn; minn=1; for (int i=0; i&lt;3; i++) { if (mas&lt;mas) { ...

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

Перекладывание массива в массив через функцию - C++
Помогите пожалуйста сделать перекладывание значений из одного в массива в другой с помощью функции на С++. Я делаю программу (по учебе) на...

Передача массива в процедуру через функцию - C++
Необходимо чтобы пользователь вводил размер массива в нижепреведенном коде. Ошибку выбивает на процедурах: /* initialize the data */ ...


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

Или воспользуйтесь поиском по форуму:
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
23.01.2014, 00:26  [ТС]     Ошибочный вывод массива через функцию #6
Спасибо большое...
Yandex
Объявления
23.01.2014, 00:26     Ошибочный вывод массива через функцию
Ответ Создать тему
Опции темы

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