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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.05.2009, 10:04   #1
Sasuke-sama
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 63
По умолчанию Массивы

Общая постановка. Составить программы - одномерные массивы: задания 1-25. Массивы создаются в динамической области памяти с использованием операций NEW и DELETE. Ввод исходных данных: реальный размер массивов и их значения. Обращение к элементам массива – через косвенную адресацию.
Заданы два массива А(5) и В(5). Подсчитать в них количество элементов, больших значения t и первым на печать вывести массив, имеющий наименьшее их количество.
Как это сделать подскажите Пожалуйста!!!!
Sasuke-sama вне форума
Старый 29.05.2009, 12:05   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Sasuke-sama
Как это сделать
Что сделать? Взять и написать.
Читайте про динамические массивы и функции.
Или хотите, чтобы за вас все написали?

Выкладывайте код или тему закрою.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 29.05.2009, 17:33   #3
Sasuke-sama
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 63
По умолчанию

Вот как эту прогу переделать на моё задание????:
Код:
#include<iostream.h>
#include<conio.h>
#include<math.h>
class myclass  //opredeleniye klassa
{
	public:
	void set(float xx,float yy,float zz);//prototip functsii ustanovki znacheniy
	void run();  //prototip functsii vichisleniya virazheniya
	void print();//prototip f-ii vivoda na ekran
	private:
	float x,y,z,u;//znacheniya
};
//opredeleniya functsiy classa
void myclass::set(float xx,float yy,float zz)
{
	x=xx;
	y=yy;
	z=zz;
}
void myclass::run()
{
	u=pow(8+pow(fabs(x-y),2)+1,1./3.)/(x*x+y*y+2)-
	exp(fabs(x-y))*pow(pow(tan(z),2)+1,x);
}
void myclass::print()
{
	cout<<"X="<<x<<"\nY="<<y<<"\nZ="<<z<<"\nU="<<u;
}
//glavnaya programma
void main()
{
	myclass m;    //staticheskiy sposob
	clrscr();
	m.set(-4.5,0.75E-4,0.845E2); //ustanovka znacheniy
	m.run();    //vichisleniye rezultata
	m.print();  //vivod na ekran
	cout<<"\n\n";

	myclass *m1=&m; //dinamicheskiy sposob
	m1->set(-4.5,0.75E-4,0.845E2);
	m1->run();
	m1->print();
	getch();
}
Sasuke-sama вне форума
Старый 29.05.2009, 17:40   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Sasuke-sama, вот как переделаете, так и будет.
Сами думать не хотите?

Могу сказать, что работы с динамической памятью в этом примере нет.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 29.05.2009, 17:45   #5
Sasuke-sama
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 63
По умолчанию

Sazary, не просто я не знаю я бы не спрашивал если бы знал! И вы говорите, что работы с динамической памятью в этом примере нет. А как ее сделать??
Sasuke-sama вне форума
Старый 29.05.2009, 17:56   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Sasuke-sama, если не знаете, то читайте учебники.
Этот раздел для тех, у кого возникли трудности в реализации или в решении каких-то конкретных вопросов. Но не для тех, кому нужен код на блюдечке.

Цитата:
И вы говорите, что работы с динамической памятью в этом примере нет. А как ее сделать??
Открываете учебник и читаете.
Вариант 2: вбиваете в Поиск "динамическая память" и просматриваете темы.
http://programmersforum.ru/showthread.php?t=47916
http://programmersforum.ru/showthread.php?t=51176

И еще вот это почитайте: http://programmersforum.ru/showthread.php?t=34061
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 29.05.2009, 19:34   #7
Sasuke-sama
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 63
По умолчанию

Вот что получилось, но не компилируется, так как не читает библиотеку stdafx.h :
Код:
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
#define n 5
 
void out(int *a);
void vin(int *a);
int poisk(int *a,int t);
void oper(int *a,int *b,int t);
 
int main(int argc, char* argv[])
{
        setlocale(0,"");
        int *A, *B,
                t;
        A = new int[n];
        B = new int[n];
        cout << "Введите число для сравнения: ";
        cin >> t;
        _flushall();
        oper(A,B,t);
        delete[]A;
        delete[]B;
        getchar();
        return 0;
}
 
void out(int *a){
        for(int i = 0;i < n;i++)
                cout << a[i] << "  ";
        cout << "\n\n";
}
void vin(int *a){
        for(int i = 0; i < n;i++)
                a[i] = rand()%101-50;
}
int poisk(int *a,int t){
        int x = 0;
        for(int i = 0;i < n;i++)
 
                if(a[i] == t)
                        x++;
        return x;
}
void oper(int *a,int *b,int t){
        int x,y;
        vin(a);
        out(a);
        vin(b);
        out(b);
        x = poisk(a,t);
        y = poisk(b,t);
        if(x > y)
                out(b);else if(y > y)
                out(a);else
                cout << "В массивах такого числа нету.;)" << endl;
}
Проверте правильно ли выполняется задание???

Последний раз редактировалось Sazary; 29.05.2009 в 19:52.
Sasuke-sama вне форума
Старый 29.05.2009, 19:51   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
так как не читает библиотеку stdafx.h :
А где вы компилируете? Если не в Visual Studio, то это вам вообще не нужно.
Цитата:
Проверте правильно ли выполняется задание???
Нет. Вам нужно подсчитать количество элементов, больших t.
Измените вот так:
Код:
int poisk(int *a,int t){
        int x = 0;
        for(int i = 0;i < n;i++)

                if(a[i] > t)
                        x++;
        return x;
}
И еще в конце опечатка:
Код:
if(x > y) out(b);
        else if(y > x) out(a);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 29.05.2009, 19:52   #9
Sasuke-sama
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 63
По умолчанию

И тут не хватает, посчитать количество элементов больших параметра t
Sasuke-sama вне форума
Старый 29.05.2009, 19:58   #10
Sasuke-sama
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 63
По умолчанию

Код:
//#include <stdafx.h>
#include <iostream>
#include <ctime>
using namespace std;
#define n 5
 
void out(int *a);
void vin(int *a);
int poisk(int *a,int t);
void oper(int *a,int *b,int t);
 
int main(int argc, char* argv[])
{
        setlocale(0,"");
        int *A, *B,
                t;
        A = new int[n];
        B = new int[n];
        cout << "Vvedite chislo dlya sravneniya: ";
        cin >> t;
        _flushall();
        oper(A,B,t);
        delete[]A;
        delete[]B;
        getchar();
        return 0;
}
 
void out(int *a){
        for(int i = 0;i < n;i++)
                cout << a[i] << "  ";
        cout << "\n\n";
}
void vin(int *a){
        for(int i = 0; i < n;i++)
                a[i] = rand()%101-50;
}
int poisk(int *a,int t){
        int x = 0;
        for(int i = 0;i < n;i++)
 
                if(a[i]>t)
                        x++;
        return x;
}
void oper(int *a,int *b,int t){
        int x,y;
        vin(a);
        out(a);
        vin(b);
        out(b);
        x = poisk(a,t);
        y = poisk(b,t);
        if(y > x)
                out(b);else if(y > y)
                out(a);else
                cout << "V massivach takogo chisla netu" << endl;
}
Поправил, но как теперь посчитать количество элементов больших t???
Sasuke-sama вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Массивы С++ Nina+ Помощь студентам 2 19.03.2009 11:44
Массивы. Limon34 Помощь студентам 6 26.11.2008 13:05
Массивы Студентка@ Помощь студентам 2 03.05.2008 14:32