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

> Внимание!

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

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

 
 Ответить  Открыть новую тему 
> Многомерные массивы в языке СИ
сообщение
Сообщение #1


Профи
****

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

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


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


#include <STDIO.H>
void main ()
{
int a[5] [5], i, j;
FILE *fp;
for (i = 0; i < 5; i++)
for (j = 0; j <5; j++)
scanf ("%d" , & a[i] [j]);
fp = fopen("out.txt", "w");
for (i = 0; i <5; i++)
{
for (j = 0; j < 5; j++)
fprintf (fp, "%d", a[i] [j]);
fprintf (fp, "\n");
fprintf (fp, "============================");
}
int c[5], count ;
for (i = 0; i < 5; i++)
{
count = 0;
for (j = 0; j < 5; j++)
if ( (a[i][j+1] < a[i][j]) && (a[i][j+1] < a[i][j+2])
{
count = count + 1;
c[i] = c[i] + count;
fprintf (fp, "%d", c[i]);
}

}
fclose(fp);

}

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


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


#include <stdio.h>

const int n = 5;

int M[n][n] = {
{1, 4, 3, 4, 5},
{4, 5, 5, 1, 5},
{5, 2, 6, 2, 5},
{5, 4, 1, 5, 7},
{5, 9, 10, 9, 0}
}, counts[n];

int main(void){
for (int i = 0; i < n; i++){
int count = 0;
for (int j = 1; j < n - 1; j++)
count = ((M[i][j] < M[i][j - 1]) && (M[i][j] < M[i][j + 1])) ? ++count : count;
counts[i] = count;
}
for (int i = 0; i < n; i++) printf("i = %d, counts[%d] = %d\n", i, i, counts[i]);
return 0;
}


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






klem4,
for (int j = 1; j < n - 1; j++)
count += ((M[i][j] < M[i][j - 1]) && (M[i][j] < M[i][j + 1])) ? 1 : 0;
Полностью соответствует Стандарту, твой вариант может вызвать гнев некоторых компилеров...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

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

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


 
#include <STDIO.H>
const int n = 5;
void main ()
{
int a[n] [n], i, j, counts[n];
FILE *fp;
for (i = 0; i < n; i++)
for (j = 0; j <n; j++)
scanf ("%d" , & a[i] [j]);
fp = fopen("out.txt", "w");
for (i = 0; i <n; i++)
{
for (j = 0; j < n; j++)
fprintf (fp, "%d", a[i] [j]);
fprintf (fp, "\n");
fprintf (fp, "============================");
}

for (i = 0; i < n; i++)
{
int count = 0;
for (j = 1; j < n - 1; j++)
count += ((a[i][j] < a[i][j-1]) && (a[i][j] < a[i][j+1] )) ? 1 : 0;

counts[i] = count;
}
fprintf (fp,"i= %d, counts[%d] = %d\n", i, i, counts[i] );


}
fclose(fp);

}




Объясните, из-из чего компилятор выдаёт ошибки?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Вопрос на засыпку: КАКОЙ компилятор у тебя?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Спасибо, надо запомнить.

Гнев - это плохо, особенно гнев компилятора smile.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






18192123
У тебя напутано с открывающими/закрывающими скобками... Вот эти 2 строки компилятор считает лишними:
fclose(fp);

}
 К началу страницы 
+ Ответить 

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

 





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