ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 15.03.2007, 00:17
alextoun
Постоянный
Регистрация: 07.05.2006
Сообщений: 732
Провел на форуме:
7910701

Репутация: 811


Отправить сообщение для alextoun с помощью ICQ
По умолчанию

По С++

Цитата:
1. Объявите переменные, необходимые для вычисления площади прямоугольника.
2. Объявите переменные, необходимые для пересчета веса из фунтов в килограммы.
3. Определите исходные данные и объявите переменные, необходимые для вычисления дохода по вкладу.
4. Объявите переменные, необходимые для вычисления площади круга.
5. Объявите переменные, необходимые для вычисления площади кольца.
6. Объявите переменные, необходимые для вычисления объема и площади поверхности цилиндра.
7. Объявите переменные, необходимые для вычисления стоимости покупки, состоящей из нескольких тетрадей, карандашей и линейки.
8. Объявите переменные, необходимые для вычисления стоимости покупки, состоящей из нескольких тетрадей и такого же количества обложек.
9. Запишите инструкцию, которая присваивает переменной х значение -1,5.
10. Запишите инструкцию, которая присваивает переменной summa нулевое значение.
11. Запишите инструкцию, которая увеличивает на единицу значение переменной п.
12. Запишите инструкцию, которая уменьшает на два значение переменной counter.
13. Запишите инструкцию вычисления среднего арифметического переменных x1 и х2.
14. Запишите в виде инструкции присваивания формулу вычисления значения функции у = -2,7х3+0,23х2-1,4.
15. Запишите инструкцию, которая увеличивает значение переменной х на величину, находящуюся в переменной dx.
16. Запишите в виде инструкции присваивания формулу пересчета веса из фунтов в килограммы (один фунт — это 405,9 грамма).
17. Запишите в виде инструкции присваивания формулу пересчета расстояния из километров в версты (одна верста — это 1066,8 м).
18. Запишите в виде инструкции присваивания формулу вычисления площади прямоугольника.
Решения

Цитата:
Задача 1

float a, b; // ширина и длина прямоугольника float s; // площадь прямоугольника

Задача 2

float funt; // вес в фунтах float kg; /7 вес в килограммах

Задача 3

float summa; // сумма вклада
int srok; // срок вклада (дней)
int stavka; // процентная ставка (годовых)
float dohod; // величина дохода

Задача 5

float rl, ri; // внешний радиус и радиус отверстия float s; // площадь коль ца

Задача 7

float CenaTetr; // цена тетради
int KolTetr; // количество тетрадей
float CenaKar; // цена карандаша
int KolKar; // количество карандашей
float CenaLin; //' цена линейки
float Summa; //' стоимость покупки

Задача 11

72 C/C++ в задачах и примерах

Задача 12

counter -= 2

Задача 14

у:=-2.7*х*х* х + 0.23*х*х - 1.4;

Задача 15

х += dx;

Задача 16

kg - funt*0. 4059;
какие то кривые учебники не все ответы
 

  #12  
Старый 01.04.2007, 15:34
MegaBits
Участник форума
Регистрация: 30.08.2006
Сообщений: 181
Провел на форуме:
1058786

Репутация: 45
По умолчанию

Может кто поможет или подскажет как реализовать на С++?

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.
 

  #13  
Старый 01.04.2007, 17:16
iv.
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

вот первую наструячил
Код:
#include <stdio.h>
#include <conio.h>
#define N 6

void main(void)
{
	float arr[N];
	int i, min;

	for (i = 0; i < N; i++)
	{
		printf("enter %d element: ", i);
		scanf("%f", &arr[i]);
	}
	min = 0;
	for (i = 0; i < (N - 1); i++)
		if(arr[i+1] < arr[i]) min = i+1;
	printf("min number: %d", min);
	getch();
	return;
}
ща если не лень будет остальные - помогу..

в общем далее некий псевдокод следует.
2) инициализация(так же)
циклом по массиву ищем отрицательные элементы, номера их запоминаем. далее цикл в пределах ранее запомненных номеров, в нем суммируем элементы.
3) тут вопрос, нужно ли сортировать? если нет, то элементарно, если да - почитай про сортировки.

а вообще задачи смешные =\ советую разобраться.

Последний раз редактировалось iv.; 01.04.2007 в 17:25..
 

  #14  
Старый 01.04.2007, 18:02
MegaBits
Участник форума
Регистрация: 30.08.2006
Сообщений: 181
Провел на форуме:
1058786

Репутация: 45
Wink

Нет сортировать не нужно, если не влом, напиши как с модулем разобраться. А с сортировкой у меня проблем нет.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;


int cmp(const void *a, const void *b) {
    return *(int*)a - *(int*)b;
}
int main() {
   int n, i;
   int a[6]={2,-1,-7,3,5,6};
   for(i = 0 ; i < 6; i++)
   {
   }
   qsort(a, 6, sizeof(int), cmp );
   for(i = 0 ; i < 6; i++)
   {
       cout << " " << a[i];
   }
   getch();
   return 0;
}
С меня ++.
 

  #15  
Старый 01.04.2007, 18:09
iv.
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

что именно не понятно?
вообще странный код..
 

  #16  
Старый 01.04.2007, 18:14
fYt
Познающий
Регистрация: 11.01.2007
Сообщений: 82
Провел на форуме:
592893

Репутация: 108
По умолчанию

Код:
[
#include <stdio.h>

int main()
{
   int sum=0, i=0, j=0;
   int MyArray[10]={ 12, -3, 23, 12, 6, 2, 34, -12, 3, 9};
   int Num[2]={0,0}; 

   for(;i<10;i++)
    {
        if(MyArray[i]<0)
         {
           Num[j]=i;
           j++;
         }
    }

  for(j=Num[0]+1;j<Num[1];j++)
   {
        sum+=MyArray[j];
        printf("%d\n",MyArray[j]);
   }

        printf("%d",sum);

   return 0;
}
Если правильно понял, то вот второй. Только тут ошибка целые числа... В третьем можно использовать функцию abs()(модуль числа вроде) в <math.h> и отсортировать потом пузырьковым методом.

Последний раз редактировалось fYt; 01.04.2007 в 18:28..
 

  #17  
Старый 01.04.2007, 19:02
sni4ok
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
Провел на форуме:
1174659

Репутация: 175
Отправить сообщение для sni4ok с помощью ICQ
По умолчанию

Цитата:
Сообщение от MegaBits  
Может кто поможет или подскажет как реализовать на С++?

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
Код:
#include <algorithm>
size_t GetIndexOfMinElement(const double* a, size_t n)
{
	const double* min_elem = std::min_element(&a[0], &a[n]);
	return min_elem - &a[0];
}
Цитата:
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Код:
#include <algorithm>
#include <functional>
#include <numeric>

double GetSummFromFirstToSecondNeg(const double* a, size_t n)
{
	const double* first_neg = std::find_if(&a[0], &a[n], 
		std::bind2nd(std::less<double>(), 0));

	if(first_neg != &a[n]){
		const double* second_neg = std::find_if(++first_neg, &a[n], 
			std::bind2nd(std::less<double>(), 0.0));
		return std::accumulate(first_neg, second_neg, 0.0);
	}
	return 0.0;
}
Цитата:
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.
Код:
#include <vector>
struct Choser : std::unary_function<double, bool>{
	bool operator()(double a){
		return a < -1.0 || a > 1.0;
	}
};

void SpecialSort(double* a, size_t n)
{
	std::vector<double> c;
	std::remove_copy_if(&a[0],&a[n],std::back_inserter(c),Choser());
	std::copy(&a[0], &a[n - c.size()], std::back_inserter(c));
	std::copy(c.begin(),c.end(),&a[0]);
}
 

  #18  
Старый 01.04.2007, 23:32
K1T
Познающий
Регистрация: 15.10.2006
Сообщений: 34
Провел на форуме:
304771

Репутация: 7
По умолчанию

Цитата:
Сообщение от MegaBits  
Может кто поможет или подскажет как реализовать на С++?

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.
#include <stdio.h>
#include <math.h>
#include <alloc.h>
#include <conio.h>
int nomer(int N,int mas[]){ //funkciya naxogdeniya nomera minimalnogo
int min=mas[0],i;
int nomber=0;
for(i=0; i<N;i++)
if(min>mas[i]){min=mas[i]; nomber=i;}//tuta mi i naxodim minimum
return nomber;}
int summa(int N,int mas[]){ //funkciya naxogdeniya summa poebeni ))
int summa=0,i;
for(i=0; i<N;i++){ // tut ona i realizovana
if(mas[i]<0){
i++;
for(;i<N;i++){
// kak ona rabotaet dage ne sprashivai
if(mas[i]<0){break;} //va piwu pod pivom i granic moei fantazii net predelov...
summa+=mas[i];

}}}
return summa;}
void massiv(int N,int mas[]){ //eto funkciya toge 4e to delaet
int *mas2;
int b=0,i;
mas2=(int*)malloc(N*sizeof(int));

for(i=0; i<N;i++)
if(abs(mas[i])<=1){
mas2[b]=mas[i];
b++;}
for( i=0;i<N;i++)
if(abs(mas[i])>1){
mas2[b]=mas[i];
b++;
}
for(i=0;i<N;i++)
printf("mas[%d]=%d\t",i,mas2[i]);
}
void main(){
int N=0;
int *mas,i;

printf("vvedite kol-vo elementov v massive\n");
scanf("%d",&N);
mas=(int*)malloc(N*sizeof(int));
printf("vvedite elementi massiva\n");
for(i=0;i<N;i++)
scanf("%d",&mas[i]);
printf("Nomer minimalnogj=%d\n",nomer(N,mas));
printf("summa poebeni=%d\n", summa(N,mas));
massiv(N,mas);
getch();
}

Последний раз редактировалось K1T; 02.04.2007 в 14:08..
 

  #19  
Старый 02.04.2007, 00:07
MegaBits
Участник форума
Регистрация: 30.08.2006
Сообщений: 181
Провел на форуме:
1058786

Репутация: 45
По умолчанию

Все всем спасибо!!!
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ