1
20要素の配列で助けが必要です。C++での配列圧縮と検索(基本)
各要素の絶対値を見つける必要があり、値が1未満の場合は配列からこの要素を削除します。その後、配列の最後に、削除された要素の代わりに0を入れます。
私はこれを行うのに役立ついくつかの機能を探しています。
これは私のコードです:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int OddSumm(int arr[], int lenght)
{
int i,p,z;
p=0;
for (i=0; i<lenght; i++)
if(arr[i]%2!=0 && arr[i]!=0){
p+=arr[i];
}
return p;
}
int SummBetweenNegativeNumbers(int arr[], int lenght) {
int s,i,r,z;
s=0;
for (i=0; i<lenght; i++)
if(arr[i]<0){
i++;
r=i;
for (i=r; i<lenght; i++)
if(arr[i]<0){
--i;
z=i;
for (i=r; i<=z; i++)
s+=arr[i];
}
}
return s;
}
int main(int argc, char *argv[])
{
int var;
int i,arr[20];
int s,p,lenght;
lenght=20;
{
printf("Type in %d elements \n",lenght);
for (i=0; i<lenght; i++)
scanf("%d", &arr[i]);
}
p=OddSumm(arr,lenght);
s=SummBetweenNegativeNumbers(arr,lenght);
printf("\n\t 1a)Odd numbers summ: %d",p);
printf("\n\t 1b)Elements summ between negativ numbers: %d", s);
printf("\n\t 2)Compressed array: ");
for(i=lenght-1; i>=0; i--)
printf(" %d",arr[i]);
printf("\n\n");
system("pause");
return 0;
}
コードを読み取ることができません。英語の記号(関数と変数の名前)の使用をお勧めします。それに加えて、質問自体はIMOが不明です。 '私はモジュール(abs)の各要素を置く必要があります'はどういう意味ですか? –
絶対値は私が –
のコードのほとんどが質問に無関係であると思われることです。要素の絶対値を取得するには、 'OddSum'または' SummBetweenNegativeNumbers'が必要だと思いません。 [mcve](最小限の強調) – user463035818