Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 12:26   #1
alstan
 
Регистрация: 15.03.2009
Сообщений: 8
По умолчанию проблемка спрогой на С

1. Замените все положительные элементы массива на нулевые.
2. Дана квадратная матрица. Найти среднее арифметическое положительных элементов каждого столбца.


Код:
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void zamena (int n,int m,int **a);
int arifm (int m, int d);
int n,m,i,j,k,s;
int main(int argc, char* argv[])
{
int **a;
int d[10];
printf("vvedite n:");
scanf("%d",n);
printf("vvedite m:");
scanf("%d",m);
a=(int**)malloc(n*sizeof(int*));
for (i=0;i<n;i++)
a[i]=(int*)malloc(m*sizeof(int));
printf("vvedite elementy:");
for (i=0;i<n;i++)
for (j=0;j<m;j++)
scanf("%d",&a[i][j]);

for (i=0;i<n;i++)
{for (j=0;j<m;j++)
{printf("%d",a[i][j]);}
printf("\n");}
zamena(n,m,a);
arifm(m,*d);
getch();
return 0;
}

void zamena(int n,int m,int **a)
{for (i=0;i<n;i++)
for (j=0;j<m;j++)
{if (a[i][j]>0)
a[i][j]=0;}
for (i=0;i<n;i++)
{for (j=0;j<m;j++)
{printf("%d",a[i][j]);}
printf("\n");
}

int arifm(m,n,i,j,d);
{for (i=0;i<n;i++)
for (j=0;j<m;j++)
{if (a[i][j]>0)
d[j]=(d[j]+a[i][j]);}
d[j]=(d[j]/m);
for (j=0;j<m;j++)
printf("%d", d[j]);
}



//---------------------------------------------------------------------------

Последний раз редактировалось Stilet; 15.12.2009 в 14:46.
alstan вне форума Ответить с цитированием
Старый 15.12.2009, 13:03   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

1 Для оформления используйте тег CODE или выделите свою программу и нажмите значок #.
2 Телепаты в отпуске и какая у Вас проблема?
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 15.12.2009, 13:09   #3
alstan
 
Регистрация: 15.03.2009
Сообщений: 8
По умолчанию

выдаёт 4 ошибки:
[C++ Error] Unit1.c(52): E2140 Declaration is not allowed here
[C++ Error] Unit1.c(52): E2084 Parameter names are used only with a function body
[C++ Error] Unit1.c(53): E2139 Declaration missing ;
[C++ Error] Unit1.c(66): E2134 Compound statement missing }
alstan вне форума Ответить с цитированием
Старый 15.12.2009, 13:36   #4
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Точку с запятой надо только в прототипе.
И всегда надо использовать тег кода.
Код:
int arifm(m,n,i,j,d); - ошибка
{for (i=0;i<n;i++)
for (j=0;j<m;j++)
TwiX вне форума Ответить с цитированием
Старый 15.12.2009, 13:48   #5
alstan
 
Регистрация: 15.03.2009
Сообщений: 8
По умолчанию

; убрал - пишет [C++ Error] Unit1.c(66): E2139 Declaration missing ;
а что с остальными ошибками-то делать?
alstan вне форума Ответить с цитированием
Старый 15.12.2009, 14:17   #6
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

В обьявлении две переменных
Код:
int arifm (int m, int d);
В описании 4.
Код:
int arifm(m,n,i,j,d)
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 15.12.2009, 14:19   #7
alstan
 
Регистрация: 15.03.2009
Сообщений: 8
По умолчанию

поменял - 4 ошибки(
alstan вне форума Ответить с цитированием
Старый 15.12.2009, 14:23   #8
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Как поменяли и какие ошибки? Ну нет телепатов!!!
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 15.12.2009, 14:40   #9
alstan
 
Регистрация: 15.03.2009
Сообщений: 8
По умолчанию

Код:
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void zamena (int n,int m,int **a);
int arifm (int m, int d);
int n,m,i,j,k,s;
int main(int argc, char* argv[])
{
int **a;
int d[10];
printf("vvedite n:");
scanf("%d",n);
printf("vvedite m:");
scanf("%d",m);
a=(int**)malloc(n*sizeof(int*));
for (i=0;i<n;i++)
a[i]=(int*)malloc(m*sizeof(int));
printf("vvedite elementy:");
for (i=0;i<n;i++)
for (j=0;j<m;j++)
scanf("%d",&a[i][j]);

for (i=0;i<n;i++)
{for (j=0;j<m;j++)
{printf("%d",a[i][j]);}
printf("\n");}
zamena(n,m,a);
arifm(m,*d);
getch();
return 0;
}

void zamena(int n,int m,int **a)
{for (i=0;i<n;i++)
 for (j=0;j<m;j++)
{if (a[i][j]>0)
 a[i][j]=0;}
 for (i=0;i<n;i++)
 {for (j=0;j<m;j++)
{printf("%d",a[i][j]);}
printf("\n");
}

int arifm(int m, int d)
{for (i=0;i<n;i++)
 for (j=0;j<m;j++)
{if (a[i][j]>0)
d[j]=(d[j]+a[i][j]);}
d[j]=(d[j]/m);
for (j=0;j<m;j++)
printf("%d", d[j]);
}
ошибки:
[C++ Error] Unit1.c(52): E2140 Declaration is not allowed here
[C++ Error] Unit1.c(53): E2141 Declaration syntax error
[C++ Error] Unit1.c(66): E2139 Declaration missing ;
[C++ Error] Unit1.c(66): E2134 Compound statement missing }

Последний раз редактировалось Stilet; 15.12.2009 в 14:47.
alstan вне форума Ответить с цитированием
Старый 15.12.2009, 14:46   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
4 ошибки(
Написаные белыми буквами на белом фоне?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемка Lacrimoso Общие вопросы C/C++ 11 24.09.2009 23:14
проблемка lucky Паскаль, Turbo Pascal, PascalABC.NET 1 12.05.2009 22:32
проблемка( Alexcomeback Общие вопросы C/C++ 4 16.04.2009 18:38