Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Функции в С

Автор: _Hanter_ 7.12.2011 22:32

Найти наименьшее общее кратное n заданных натуральных чисел.



Код

#include <math.h>
#include <stdio.h>
#include <windows.h>
void NOK(int x,int y);
void NOD(int x,int y);
{if (x!=0) NOD=NOD(y%x,x); else NOD=y}
{NOK=(x/NOD(x,y))*y;}
void main ()
{
    int A[100], n,i,k,y;
    printf("введите розмер масива:");
    scanf ("%i",&n);
    printf("введите масив:\n");
    for(i=0;i<n;i++)
            scanf("%i",&A[i]);
printf("Исходный масив:\n");
    for(i=0;i<n;i++)
  printf("%i",A[i]);
  { printf("введите кол-во элементов от 3 до 100 n=");
for(i=0;i<n;i++)
            scanf("%i",&A[i]);
printf("Исходный масив:\n");
    for(i=0;i<n;i++)
  printf("%i",A[i]);
k=NOK(A[1],A[2});
   for(i=0;i<n;i++)
   {k=NOK(k,A[i]);  
        printf("Общий NOK всех елементов=%i",k);
system("pause");}


Автор: IUnknown 7.12.2011 23:20

Цитата
Почему не получается
Причин много. Первая - это то, что ты ставишь точки с запятыми. Это не Паскаль, в С не нужно завершать описание заголовка функции точкой с запятой. Во-вторых, в С вообще нет вложенных функций, которые ты пытаешься использовать (если я правильно прочел код, там есть попытка сделать функцию NOD локальной, внутри NOK).

Автор: Гость 8.12.2011 0:00

А как сделать чтобы работала правильно???

Автор: IUnknown 8.12.2011 1:03

Цитата(Гость @ 7.12.2011 19:00) *
А как сделать чтобы работала правильно???
Вот так, например:
#include <math.h>
#include <stdio.h>

int NOD(int x, int y)
{
if (x) return NOD(y%x, x);
return y;
}

int NOK(int x, int y)
{
return (x / NOD(x, y)) * y;
}

int main ()
{
int A[100], n,i,k;
printf("введите размер массива:");
scanf ("%i",&n);
printf("введите массив:\n");
for(i=0;i<n;i++)
scanf("%i",&A[i]);

printf("Исходный масив:\n");
for(i=0;i<n;i++)
printf("%i",A[i]);

k = NOK(A[0],A[1]);
for(i=2;i<n;i++)
k=NOK(k,A[i]);

printf("Общий NOK всех элементов=%i",k);
/* system("pause"); */
return 0;
}


Автор: Гость 8.12.2011 22:17

Спасибо)) Скиньте нармальною прогу для программирования на С...

Автор: IUnknown 9.12.2011 13:59

"Нормальную" - это как?

make "Пыщь-пыщь, программа, НАПИШИСЬ!"

?
Такой не встречал.

Бери любой компилятор, желательно поновее + приличную среду разработки (лично я пользуюсь http://www.codeblocks.org/downloads, там все в одном флаконе, и компилятор и IDE) и пиши программы.