Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

я чТО тО нЕ сОВСЕМ в кЛАССЫ вЪЕХАЛ.

4.8K
20 марта 2004 года
WD-40
16 / / 21.02.2004
Подскажите плиз препод сказал переделать под ООП вот эту задачу

Дан вектор, содержащий не более 29 элементов. Построить новый, элементы которого - величины, обратные заданным (нулевые элементы не заменять). Подсчитать количество не изменившихся элементов. Найти максимальный по абсолютной величине отрицательный элемент и общее количество отрицательных элементов. Формат числа ?ццц. Вид распечатки результатов разработать самостоятельно.

Ну вот я и написал её а она вываливает ошибоки подскажите плиз что не так а то я что то не совсем в классы въехал.

#include<conio.h>
#include<stdio.h>
#include<math.h>

void main()
{
int n;
int A[29];
int i;
printf("n=");
scanf("%d",&n);

if(n>29) n=29;
for (i=0; i<n; i++)
{
printf("A[%d]=",i);
scanf("%d",&y);
}
}




class Matrix
{
int n;
int A[29];
int i;

public:
void Res_mas(int k,int *y);

};
void Matrix::Res_mas(int k, int *y)
{
float B[29],max;
//int i;
int kol1=0;
int kol2=0;
max=0;
for (i=0;i<n;i++)
{
if (y==0)
{
B=y;
kol1++;
}
else B=1/float(y);
if (B<0)
{
kol2++;
if (abs(B)>max) max=B;
}
printf("B[%d]=%5.2f\n",i,B);
}
printf("kol1=%3d\n",kol1);
printf("kol2=%3d\n",kol2);
printf("max=%5.2f\n",max);
}
860
21 марта 2004 года
Abell2000
138 / / 15.01.2003
А что за ошибка то?
И что такое scanf("%d",&y);, я так понимаю тут должно быть scanf("%d",&A);
4.8K
22 марта 2004 года
WD-40
16 / / 21.02.2004
О огромное тебе спасибо Abell2000 только вот не могли бы вы мне всё же объяснить почему после ввода параметров прога не выполняет каких либо действий то есть она не печатает результат почему.


#include<conio.h>
#include<stdio.h>
#include<math.h>

void main()
{
int n;
int A[29];
int i;
printf("n=");
scanf("%d",&n);

if(n>29) n=29;
for (i=0; i<n; i++)
{
printf("A[%d]=",i);
scanf("%d",&A);
}
}




class Matrix
{
int n;
int A[29];
int i;

public:
void Res_mas(int k,int *y);

};
void Matrix::Res_mas(int k, int *y)
{
float B[29],max;
//int i;
int kol1=0;
int kol2=0;
max=0;
for (i=0;i<n;i++)
{
if (y==0)
{
B=y;
kol1++;
}
else B=1/float(y);
if (B<0)
{
kol2++;
if (abs(B)>max) max=B;
}
printf("B[%d]=%5.2f\n",i,B);
}
printf("kol1=%3d\n",kol1);
printf("kol2=%3d\n",kol2);
printf("max=%5.2f\n",max);
}
519
23 марта 2004 года
VaGon
134 / / 26.03.2003
Цитата:
Originally posted by WD-40
О огромное тебе спасибо Abell2000 только вот не могли бы вы мне всё же объяснить почему после ввода параметров прога не выполняет каких либо действий то есть она не печатает результат почему.


#include<conio.h>
#include<stdio.h>
#include<math.h>

void main()
{
int n;
int A[29];
int i;
printf("n=");
scanf("%d",&n);

if(n>29) n=29;
for (i=0; i<n; i++)
{
printf("A[%d]=",i);
scanf("%d",&A);
}
}




class Matrix
{
int n;
int A[29];
int i;

public:
void Res_mas(int k,int *y);

};
void Matrix::Res_mas(int k, int *y)
{
float B[29],max;
//int i;
int kol1=0;
int kol2=0;
max=0;
for (i=0;i<n;i++)
{
if (y==0)
{
B=y;
kol1++;
}
else B=1/float(y);
if (B<0)
{
kol2++;
if (abs(B)>max) max=B;
}
printf("B[%d]=%5.2f\n",i,B);
}
printf("kol1=%3d\n",kol1);
printf("kol2=%3d\n",kol2);
printf("max=%5.2f\n",max);
}



а где создание объекта класса Matrix?

860
23 марта 2004 года
Abell2000
138 / / 15.01.2003
Цитата:
Originally posted by WD-40
О огромное тебе спасибо Abell2000 только вот не могли бы вы мне всё же объяснить почему после ввода параметров прога не выполняет каких либо действий то есть она не печатает результат почему.
...


Хе. Конечно не будет. У тебя для печати целый класс создан, но только ты ж его в своей проге нигде не используешь. Нужно сделать так:
Matrix *matrix=new Matrix;
matrix->Res_mas(n,A);
только описание класса должно быть до void main(), но у тебя все равно работать не будет, поскольку в void Matrix::Res_mas(int k, int *y) вместо n должно быть k или n=k.

4.8K
23 марта 2004 года
WD-40
16 / / 21.02.2004
Abell2000 Ещё раз спасибо за помощь но можно последний вопрос я всё сделал как ты сказал но прога по прежнему не хочет выполнять не чего делать почему.

#include<conio.h>
#include<stdio.h>
#include<math.h>


class Matrix
{
int n;
int A[29];
int i;


public:
void Res_mas(int k,int *y);

};


void main()
{
int n;
int A[29];
int i;
printf("n=");
scanf("%d",&n);

if(n>29) n=29;
for (i=0; i<n; i++)
{
printf("A[%d]=",i);
scanf("%d",&A);
}
}

void Matrix::Res_mas(int k, int *y)
{
Matrix *matrix=new Matrix;
matrix->Res_mas(n,A);

n=k;
float B[29],max;
//int i;
int kol1=0;
int kol2=0;
max=0;
for (i=0;i<n;i++)
{
if (y==0)
{
B=y;
kol1++;
}
else B=1/float(y);
if (B<0)
{
kol2++;
if (abs(B)>max) max=B;
}
printf("B[%d]=%5.2f\n",i,B);
}
printf("kol1=%3d\n",kol1);
printf("kol2=%3d\n",kol2);
printf("max=%5.2f\n",max);
}
247
23 марта 2004 года
wanja
1.2K / / 03.02.2003
Matrix *matrix=new Matrix;
matrix->Res_mas(n,A);
В main это надо писать!!!
Испилняется то main, а не чт-то ещё, так что пока ты там к этим функциям и классам не обратишься, ничего у тебя не выйдет!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог