История изменений
Исправление imul, (текущая версия) :
:( ну вот зачем ты решение дал? Обломал азарт.
Я правда первоначально все ограничения проигнорировал и сделал для дабла:
#include <stdio.h>
#include <math.h>
void main (void) {
double m[] = {0,1,2,3,2,3,4,1,1,1,2,3,4,5,6,7};
for (int i = 0; i < sizeof(m)/sizeof(double); i++) {
for (int j = i + 1; j < sizeof(m)/sizeof(double); j++)
if (m[i] == m[j]) m[j]=NAN;
if (!isnan(m[i])) printf("%lf\n", m[i]);
}
}
Потом когда ты уточнил про идущие подряд, то добавил ещё строчку
#include <stdio.h>
#include <math.h>
void main (void) {
double m[] = {0,1,2,3,2,3,4,1,1,1,2,3,4,5,6,7};
for (int i = 0; i < sizeof(m)/sizeof(double); i++) {
for (int j = i + 1; j < sizeof(m)/sizeof(double); j++)
if (m[i] == m[j]) m[j]=NAN;
else break; // <--- вот эту
if (!isnan(m[i])) printf("%lf\n", m[i]);
}
}
С даблами массив не надо «компрессить» и не нужно лишних переменных.
Исправление imul, :
:( ну вот зачем ты решение дал? Обломал азарт.
Я правда первоначально все ограничения проигнорировал и сделал для дабла:
#include <stdio.h>
#include <math.h>
void main (void) {
double m[] = {0,1,2,3,2,3,4,1,1,1,2,3,4,5,6,7};
for (int i = 0; i < sizeof(m)/sizeof(double); i++) {
for (int j = i + 1; j < sizeof(m)/sizeof(double); j++)
if (m[i] == m[j]) m[j]=NAN;
if (!isnan(m[i])) printf("%lf\n", m[i]);
}
}
Потом когда ты уточнил про идущие подряд, то добавил ещё строчку
#include <stdio.h>
#include <math.h>
void main (void) {
double m[] = {0,1,2,3,2,3,4,1,1,1,2,3,4,5,6,7};
for (int i = 0; i < sizeof(m)/sizeof(double); i++) {
for (int j = i + 1; j < sizeof(m)/sizeof(double); j++)
if (m[i] == m[j]) m[j]=NAN;
else break; // <--- вот эту
if (!isnan(m[i])) printf("%lf\n", m[i]);
}
}
Исходная версия imul, :
:( ну вот зачем ты решение дал? Обломал азарт.