IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Функции и массивы
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Дана матрица А(55). Определить массив Х из 5 элементов, каждый из которых равен 1, если наименьший элемент соответствующей строки положителен и –1 в противном случае.

Проблема как раз в ф-ции заполнения массива Х...

#include <STDIO.H>
#define n 2
void input_matr (int a[n][n])
{
int i,j;
printf ("Vvedite elementi matrici: \n");
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
scanf ("%d", &a[i][j]);
}

int *mas_x (int (*a)[n], int *x)
{
int i,j;

for (i = 0; i < n; i++);
{
int min = 1000;
for (j = 0; j < n; j++);

min = ( a[i][j] < min) ? a[i][j]: min;
}
x[i] = ( min > 0 ) ? 1 : -1;

return x;
}

void output (int a[n][n], int x[])
{
int i,j;
printf ("Matrica a: \n");
for ( i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
printf ("%5d", a[i][j]);
printf ("\n");
}
printf ("Massiv x: \n");
for ( i= 0; i < n; i++);
printf ("%5d", x[i]);
printf ("\n");
}

void main ()
{
int a[n][n], x[n];
input_matr(a);
output(a,mas_x(a,x));
}

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Проблема как раз в ф-ции заполнения массива Х...
no1.gif Как раз ТОЛЬКО в этой функции проблем и нет... Смотри на комментарии, я отметил все места, которые исправил, и написал, почему было неверно...

#include <STDIO.H>
#define n 2
void input_matr (int a[n][n])
{
int i,j;
printf ("Vvedite elementi matrici: \n");
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
scanf ("%d", &a[i][j]);
}

int *mas_x (int (*a)[n], int *x)
{
int i,j, min; // min описываем здесь - иначе это уже не С, а С++

for (i = 0; i < n; i++) // 0 - здесь надо убрать ";" иначе получается, что цикл ПУСТ
{
min = 1000; // 1
for (j = 0; j < n; j++) // 2 - убираем ";"
min = ( a[i][j] < min) ? a[i][j]: min;
// } - этот цикл заканчивается не здесь, а ниже ...
x[i] = ( min > 0 ) ? 1 : -1;
} // 3 - вот здесь ...

return x;
}

void output (int a[n][n], int x[])
{
int i,j;
printf ("Matrica a: \n");
for ( i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
printf ("%5d", a[i][j]);
printf ("\n");
}
printf ("Massiv x: \n");
for ( i= 0; i < n; i++) // 4 - аналогично - убираем ";"
printf ("%5d", x[i]);
printf ("\n");
}

void main ()
{
int a[n][n], x[n];
input_matr(a);
output(a,mas_x(a,x));
}

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


volvo , большое спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.09.2020 3:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name