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

Вывести сообщение о том, что все элементы в массиве равны - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ __declspec(property) и с чем его едят http://www.cyberforum.ru/cpp-beginners/thread349268.html
Что это такое и как это использовать? У меня задание в лабораторной по обычному с++, но вот такая штука имеет место быть. Насколько я понял это какие-то свойства, прикрученные ms но как они используются? Заголовочный файл где они есть (сама программа представляет собой структуру по хранению данных о студентах): //#include "stdafx.h" #ifndef TYPES_INCLUDE #define TYPES_INCLUDE ...
C++ Оставить в списке только первые вхождения одинаковых элементов В составе программы описать функцию, которая оставляет в списке только первые вхождения одинаковых элементов. Добавлено через 10 минут куку )))) http://www.cyberforum.ru/cpp-beginners/thread349242.html
описать функцию, которая заменяет все вхождения элемента C++
В составе программы описать функцию, которая заменяет в списке все вхождения элемента E1, значение которого введено с клавиатуры, на эле-мент E2, значение которого также введено с клавиатуры.
C++ Определить, является ли матрица магическим квадратом
Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы. #include <stdio.h> #include <stdlib.h> int main() { int k,ki,kj,i,j,a;
C++ Запутался в флагах http://www.cyberforum.ru/cpp-beginners/thread349185.html
Запутался в флагах, переменная rez вычисляется некорректно. Подскажите, как избавиться от ошибки, а ещё лучше, показать правильный код программы :-#include <iostream.h> #include <iomanip.h> #include <stdlib.h> #include <conio.h> struct Node {int key; Node *l; Node *r; };
C++ Принадлежит ли точка фигуре Определить принадлежность точки областям, обозначенным прописными буквами A и B. Строчными буквами обозначены определяемые пользователем параметры рисунка. Координаты точки x и y и другие параметры рисунка вводятся пользователем. подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
08.09.2011, 21:06     Вывести сообщение о том, что все элементы в массиве равны
Цитата Сообщение от Deviaphan Посмотреть сообщение
Как всегда. Уменьшение времени за счёт увеличения использования памяти.)
Я был некорректен. Не решаема без увеличения объёма памяти вдвое
Без увеличения памяти и изменения массива.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#define N 5
 
int main()
{
   int a[N] = {3, 1, 4, 5, 7};
   int i, min, s1, s2, flag;
 
   flag = s1 = s2 = 0;
   min = a[0];
   for(i = 0; i < N; i++)
   {
       if (a[i] < min)
       {
          s2 = s1;
          min = a[i];
          flag = 1;
       }
       s1 += a[i];
   }
   flag ? printf("%d\n", s2) : printf("all elements == min OR a[0] == min");
   return 0;
}
Или я что-то недопонял?

Добавлено через 8 минут
Можно так еще:

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
#include <stdio.h>
#include <limits.h>
#define N 5
 
int main()
{
   int a[N] = {3, 1, 4, 5, 7};
   int i, min, s1, s2, j;
 
   s1 = s2 = 0;
   min = INT_MAX;
   j = -1;
   for(i = 0; i < N; i++)
   {
       if (a[i] < min)
       {
          s2 = s1;
          min = a[i];
          j = i;
       }
       s1 += a[i];
   }
   switch(j)
   {
      case -1:
         puts("all elements == min");
         break;
      case 0:
         puts("a[0] == min");
         break;
      default:
         printf("%d\n", s2);
   }
   return 0;
}
 
Текущее время: 17:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru