Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- void ArrEntry(float M[], int lenght){ //masīva elementu ievade
- int i;
- for(i=0; i<lenght; i++) scanf("%f", &M[i]);
- }
- void ArrOut(float M[], int lenght){ //masiva elementu izvade
- int i;
- for(i=0; i<lenght; i++)
- printf("\n%.3f ", *(M+i));
- printf("\n");
- }
- float Sum(float M[], int lenght){ //atgriež elementu summu aiz pirmā pozitīvā skaitļa
- int i, j;
- float sum=0;
- for(i=0; i<lenght; i++){
- if(M[i]>0) {
- j=i+1;
- break;
- }
- }
- if(j!=lenght){
- for(j;j<lenght;j++){
- sum+=M[j];
- }
- }
- return sum;
- }
- int Max_ele(float M[], int lenght){ //nosaka un atgriež lielākā elementa indeksu
- int i, index;
- float max = M[0];
- for(i=1; i<lenght; i++){
- if(max<abs(M[i])) {
- max=abs(M[i]);
- index=i;
- }
- }
- return index+1;
- }
- void ArrSort(float M[], int lenght, float A, float B){ //sakārto masīvu pēc uzdevuma
- int i, j=0, l=0, count=0;
- float *arr;
- float *arr_2;
- for(i=0;i<lenght;i++){
- if(*(M+i)>A&&*(M+i)<B) count++;
- }
- int len = abs(count-lenght);
- arr = (float*)malloc(sizeof(float)*count);
- arr_2 = (float*)malloc(sizeof(float)*len);
- for(i=0;i<lenght;i++){
- if(*(M+i)>A&&*(M+i)<B) {
- *(arr+j)=*(M+i);
- j++;
- }
- else {
- *(arr_2+l)=*(M+i);
- l++;
- }
- }
- l=0;
- for(i=0;i<lenght;i++){
- if(i<count){
- *(M+i)=*(arr+i);
- }else{
- *(M+i)= *(arr_2+l);
- l++;
- }
- }
- }
- int main(int argc, char *argv[]) {
- float A, B;
- int i, lenght;
- float *M;
- printf("Hello\n");
- if(argc>1){
- if(strcmp(strupr(argv[1]), "-RAND")==0){
- lenght = 10;
- M = (float*)malloc(sizeof(float)*lenght);
- srand(time(0));
- for (i=0; i<10; i++){
- M[i] =((float)(rand()%10000-5000)/100);
- }
- A=(float)(rand()%10000-5000/100);
- B=(float)(rand()%10000-5000/100);
- printf("\nMasiva elementi:\n");
- ArrOut(M, lenght);
- printf("\nElementu summa pec pirma pozitiva skaitla: %.3f", Sum(M, lenght));
- printf("\nLielaka elementa numurs: %d", Max_ele(M, lenght));
- printf("\nA vertiba ir %.3f", A);
- printf("\nB vertiba ir %.3f\n", B);
- }
- }else{
- printf("Ievadiet elementu daudzumu: ");
- scanf("%d", &lenght);
- printf("\nIevadiet Elementus:\n");
- M = (float*)malloc(sizeof(float)*lenght);
- ArrEntry(M, lenght);
- printf("\nElementu summa pec pirma pozitiva skaitla: %.3f", Sum(M, lenght));
- printf("\nLielaka elementa numurs: %d", Max_ele(M, lenght));
- printf("\nIevadiet A vertibu: ");
- scanf("%f", &A);
- printf("\nIevadiet B vertibu: ");
- scanf("%f", &B);
- }
- printf("\nMasivs pirms:");
- ArrOut(M, lenght);
- printf("\nMasivs pec:");
- ArrSort(M, lenght, A, B);
- ArrOut(M, lenght);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement