Задачи:
1) Найти сумму и общее количество тех элементов заданного массива X1,X2, … ,Xn, абсолютная величина которых отличается от Р не более, чем на Т.
2) Найти сумму и число тех элементов массива X, которые попадают на заданный отрезок.
C/C++
Нужна программа на языке С.
1)
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main(void) {
int n, i, c, p, t;
long long s;
int* box = NULL;
printf("n: ");
scanf_s("%i", &n);
box = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; ++i) {
printf("box[%i] >>> ", i);
scanf_s("%i", &box[i]);
}
system("cls");
for (i = 0; i < n; ++i) printf("%4i", box[i]);
putchar('\n');
s = c = 0;
printf("p: ");
scanf_s("%i", &p);
printf("t: ");
scanf_s("%i", &t);
for (i = 0; i < n; ++i) {
if (fabs(fabs(box[i]) - p) <= t) {
s += box[i];
++c;
}
}
printf("Sum: %lli\nCount: %i\n", s, c);
free(box);
system("pause > nul");
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main(void) {
int n, i, c, p, t;
long long s;
int* box = NULL;
printf("n: ");
scanf_s("%i", &n);
box = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; ++i) {
printf("box[%i] >>> ", i);
scanf_s("%i", &box[i]);
}
system("cls");
for (i = 0; i < n; ++i) printf("%4i", box[i]);
putchar('\n');
s = c = 0;
printf("p: ");
scanf_s("%i", &p);
printf("t: ");
scanf_s("%i", &t);
for (i = 0; i < n; ++i) {
if (fabs(fabs(box[i]) - p) <= t) {
s += box[i];
++c;
}
}
printf("Sum: %lli\nCount: %i\n", s, c);
free(box);
system("pause > nul");
return 0;
}
Саня Рукавишников
Спасибо!!!
С массивом из n целых чисел (n интерактивно вводится с экрана) от l до m (модули l и m где-то до двух миллиардов и задаются заранее, имея ввиду, что тип int - это четырёхбайтные знаковые целые !); числа P,T,a и b вводятся с экрана тоже как числа типа int, а суммы вычисляются как восьмибайтные целые типа long long int:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "math.h"
int main() { int i,n,*X,P,T,a,b,k,K,l=-10,m=10; long long int s,S; srand(time(NULL)); for (;;) { printf("n P T a b > "); scanf("%d%d%d%d%d",&n,&P,&T,&a,&b); k=K=0; s=S=0; X=(int*)malloc(4*n); for (i=0; i< n; i++) { X[i]=rand()%(m-l+1)+l; if (X[i] >=a&&X[i] <=b) { K++; S+=X[i]; } if (fabs(fabs(X[i])-P) <=T) { k++; s+=X[i]; } printf("%d ",X[i]); }
printf("\n%d %llu\n%d %llu\n",k,s,K,S); } return 0; }
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "math.h"
int main() { int i,n,*X,P,T,a,b,k,K,l=-10,m=10; long long int s,S; srand(time(NULL)); for (;;) { printf("n P T a b > "); scanf("%d%d%d%d%d",&n,&P,&T,&a,&b); k=K=0; s=S=0; X=(int*)malloc(4*n); for (i=0; i< n; i++) { X[i]=rand()%(m-l+1)+l; if (X[i] >=a&&X[i] <=b) { K++; S+=X[i]; } if (fabs(fabs(X[i])-P) <=T) { k++; s+=X[i]; } printf("%d ",X[i]); }
printf("\n%d %llu\n%d %llu\n",k,s,K,S); } return 0; }
Похожие вопросы
- Написать программу на языке Си
- Написать программу на языке С(просто С).
- Разработать консольную программу на языке С++
- Написать простую программу на языке с++
- Написать программу на языке Си, которая решит эту задачу:
- Набрать текст программы на языке (C++) реализующий уравнение
- Написать программу на языке С(С++).
- Напишите программу на языке паскаль
- Нужно написать программу на языке C++
- Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области. Написать программу на языке C++