Ошибка "Too few arguments to function" - C (СИ)

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

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

Дана последовательность из n натуральных чисел. Для каждого числа исходной последовательности заменить каждую цифру в записи ее дополнением до девяти и подсчитать количество цифр в записи числа. Сформировать новую последовательность, поместив в неё для каждого исходного числа два значения-преобразованное число и количество цифр в записи числа. Упорядочить новую последовательность по-парно по возрастанию чисел. Вывести исходную и полученную последовательность на экран. В программе использовать, функцию которая заменяет каждую цифру в записи числа ее дополнением до девяти и возвращает количество цифр в записи числа. Я написал код выдаёт ошибку: Too few arguments to function. Незнаю как исправить. Код ещё не совсем доработанный.
#include<locale.h>
#include<stdio.h>
//int Vivod(int u[]);
int Obrabotka(int x[],int y[], int z);
int main(){
    int a[10],b[10];
    int n,i;
    setlocale( LC_ALL, ".1251" );
    printf("Введите количество чисел массива\n");
    scanf("%d",&n);
    printf("Введите последовательность из %d натуральных чисел\n",n);
    for (i=0;i<n;i++){
    scanf("%d",&a[i]);
    }
    Obrabotka(a);
    //Vivod(a);
    return 0;
}
int Obrabotka(int x[]){
    int i,m,l,p,k;
    p=0;
    k=0;
    m=1;
    for(i=0; i<10; i++)
{
    while(l=x[i]%10!=0){
    p+=m*(9-l);
    m*=10;
    x[i]/=10;
    k=k+1;
}
    x[i]=p;
    return k;
}
}
//int Vivod(int u[],int z,int y){
//int h;
//z=10;
//for(h=o;h<z;h++)
//printf ("u[%d]=%d",h,u[h]);
//return h;
//}

Решение задачи: «Ошибка "Too few arguments to function"»

textual
Листинг программы
#include<locale.h>
#include<stdio.h>
int Obrabotka(int x[],int N);
int main(){
    int a[10],b[10];
    int n,i;
    setlocale( LC_ALL, ".1251" );
    printf("Введите количество чисел массива\n");
    scanf("%d",&n);
    printf("Введите последовательность из %d натуральных чисел\n",n);
    for (i=0;i<n;i++){
    scanf("%d",&a[i]);
    }
    Obrabotka(a,n);
    printf("Массив:\n");
    for (i=0;i<n;i++)
{
    printf("%d ",a[i]);
}
    return 0;
}
int Obrabotka(int x[],int N){
    int s,m,l,p,k;
    for(s=0; s<N; s++)
{   p=0;
    k=0;
    m=1;
    for(;x[s];x[s]/=10){
    if((l=(x[s]%10))==0||(l=(x[s]%10))!=0){
        p=p+(m*(9-l));
        m=m*10;
        k=k+1;}
}
    x[s]=p;
}
    return k;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы: и .
  2. Определяем функцию с именем Obrabotka, которая принимает два аргумента типа int (x[] и N).
  3. В функции main() объявляем две массивы a[10] и b[10], а также переменные n и i типа int.
  4. Устанавливаем локальную настройку на русский язык с помощью функции setlocale().
  5. Выводим сообщение с просьбой ввести количество чисел в массиве и считываем это количество в переменную n с помощью функции scanf().
  6. Выводим сообщение с просьбой ввести последовательность из n натуральных чисел и считываем эти числа в массив a с помощью функции scanf().
  7. Вызываем функцию Obrabotka(a,n) и передаем ей в качестве аргументов массив a и его размер n.
  8. Выводим содержимое массива a с помощью цикла for и функции printf().
  9. В функции Obrabotka() объявляем переменные s, m, l, p, k типа int.
  10. В цикле for перебираем все элементы массива x[].
  11. Внутри цикла определяем переменную p=0 и инициализируем переменные m=1 и k=0.
  12. Начинаем цикл while(x[s]), который выполняется до тех пор, пока x[s] не станет равным нулю.
  13. Внутри цикла while определяем переменную l=(x[s]%10) и проверяем условие (l==0||l!=0).
  14. Если условие выполняется, то мы добавляем к переменной p значение m*(9-l) и умножаем m на 10.
  15. После каждой итерации цикла while увеличиваем значение переменной k на 1.
  16. После окончания цикла while присваиваем значение переменной x[s] значение переменной p.
  17. По завершении цикла for возвращаем значение переменной k.
  18. В функции main() возвращаем 0, что означает успешный конец работы программы.
  19. Запускаем программу.
  20. Вводим последовательность из 5 натуральных чисел: 12345 и нажимаем Enter.
  21. Программа выводит на экран массив a: 1 2 3 4 5.

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


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

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

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