Найти в массиве трехзначные числа, сумма которых равна k - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Привет. Программа компилируется, но не работает предполагаю, что возможно массив также генерируется не так, как должен. Задается динамический массив из N элементов и заполняется случайными числами. Отсортировать и найти максимальное трехзначное число, сумма цифр которого равна введенному числу k. Числа в массиве от 0 до 100000.
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

//Функция по суммированию чисел
int SumDigits ( int L )
 
{
 
int d, sum = 0;
while ( L != 0 )
 
  {
 
  d = L % 10;
  sum = sum + d;
  L = L / 10;
 
  }
 
return sum;
 
}
 
int main()
{
float *mass, tmp;
float k, s, max, res=0;
int i, j, N;
 
printf("Zadayte chislo k\n");
scanf("%lg",&k);
printf("Zadayte kolichestvo elementov massiva\n");
scanf("%d", &N);
 
mass = (float*)malloc(N*sizeof(float));
//резервируем память под массив
 
for (i = 0; i< N; i++)
{
 
    mass [i] = rand ()%100001;
}
//заполняем массив случайными числами от 0 до 100 000

//<-сортировка
 
for(i=0;i<N;i++)
{
    for(j=i;j<N;j++)
        {
            if(mass[i]>mass[j])
                {
                    tmp=mass[i];
                    mass[i]=mass[j];
                    mass[j]=tmp;
                }
        }
}

for(i=0;i<N;i++)
{
    if((mass[i]>=100 || mass[i]<=999) && SumDigits(mass[i])==k)
    {
           res++;
    
 //       //res - переменная, в которой запоминаем было ли вообще число, подходящее под условие
          max=mass[i];    
  //        //запоминаем последнее число
    }
}

printf("Your result is %d", max);
printf("Vsego ih bilo %d", res);
   getch();
   free(mass);
   return 0;
}

Решение задачи: «Найти в массиве трехзначные числа, сумма которых равна k»

textual
Листинг программы
unsigned long vb6_rand()
{
    static unsigned long r = time(NULL) & 16777215;
    r *= 1140671485;
    r += 12820163;
    r &= 16777215;
    return r;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы