Форум программистов, компьютерный форум CyberForum.ru

Нод для массива чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ "Защита от дурака" http://www.cyberforum.ru/cpp-beginners/thread397847.html
Здравствуйте! Недавно начал изучать Си и столкнулся с проблемой. Как можно с помощью цикла организовать корректность ввода числа? В Паскале это примерно выглядит так repeat write('Введите число'); readln(n); until (n>0) and (n<100) А в Си то repeat нет :) Помогите пожалуйста.
C++ Работа с потоком ввода. Всем привет! Помогите решить задачу пожалуйста: Написать программу для проверки возможностей управления потоком ввода: ограничить число вводимых в буфер символов с последующей очисткой потока; проверить работу функций peek, putback, ignore. http://www.cyberforum.ru/cpp-beginners/thread397834.html
Шаблонная функция с явной специализацией не возвращает динамический массив C++
Здравствуйте! Возникла проблема! Есть шаблонная функция с явной специализацией для строк (тип char*), которая должна возвратить динамический массив! template <typename T> T *DynMass(T *mas, int n) { T *dynamic = new T ; //динамический масив
for заменить на while C++
for( i=0; i<(n-1);i++) { if (a==0 && a==0) zero=true; } как написать используя оператор while(условие)???
C++ Составьте пожалста блок-схему http://www.cyberforum.ru/cpp-beginners/thread397815.html
#include <iostream> #include <ctime> #include <vector> #include <algorithm> #include <iterator> int getUnique(const std::vector<int> &vec, int max) { int val; do
C++ [C++] ассемблерный модуль Привет всем. Я вот тут пытаюсь ассемблерную вставку в с++ запихнуть... А не получается. Точнее получается... Но как - то криво. Пишу просто для пробы: ... void printab(int ); int x1; asm("pushl %0\n\tcall printab \n\tpop %%eax" : : "r" (x1)); ... подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.12.2011, 23:30     Нод для массива чисел
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 25
 
long Nod(long a, long b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
 
}
 
long NodArray(long *a, int n)
{
   long i, nod = 0;
   for (i = 0; i < n; i++)
      if (a[i] > 0)
         nod = Nod(a[i], nod);
   return nod;
}
 
int main( )
{
    long a[N], n, i;
    srand(time(NULL));
    for(i = 0; i < N; i++)
        printf("%ld ", a[i] = rand()%100);
    printf ("\n NOD = %ld\n", NodArray(a, N));
    getch();
    return 0;
}
Цитата Сообщение от AncinetHero Посмотреть сообщение
НОД всегда существует, хотя бы единица
НОД(0,0) неопределен
 
Текущее время: 13:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru