// _71257791
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#include <windows.h>
#define N 20
void theend();
void main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");
srand((unsigned) time(NULL));
int a[N];
int iFirst = -1, iLast = -2, temp, flag = 1;
printf("\n Исходный массив: \n");
for (int n = 0; n < N; n++)
{
a[n] = rand () % 15 - rand () % 5;
printf(" %d ", a[n]);
}
for (int n = 0; n < N; n++)
{
if (a[n] < 0)
{
iFirst = n;
break;
}
}
if (iFirst == -1)
{
printf("\n Массив не содержит отрицательных элементов! \a");
theend();
}
for (int n = N - 1; n >= 0; n--)
{
if (a[n] < 0)
{
iLast = n;
break;
}
}
if (iFirst == iLast)
{
printf("\n Массив содержит один отрицательный элемент! \a");
theend();
}
else if (a[iFirst] == a[iLast])
{
printf("\n Замена не имеет смысла! \a");
flag = 0;
}
else
{
temp = a[iFirst];
a[iFirst] = a[iLast];
a[iLast] = temp;
}
if (flag)
{
printf("\n Модифицированный массив: \n");
for (int n = 0; n < N; n++)
printf(" %d ", a[n]);
}
_getch();
}
void theend()
{
printf("\n Приложение будет закрыто. ");
Sleep(5000);
exit(0);
}
Другие языки программирования и технологии
Поменять местами первый и последний отрицательные элементы массива B (18). (Язык Си) (Язык Си)
Один из вариантов:
int perv=-1,posl=-1,i;
double a;
for(i=0;i< 18;i++){if(b[ i]< 0 && perv< 0)perv=i,posl=i; if (b[ i] <0) posl= i;}
if( perv < 0 && posl < 0)a=b[ perv], b[ perv]= b[ posl], b[ posl] =a;
int perv=-1,posl=-1,i;
double a;
for(i=0;i< 18;i++){if(b[ i]< 0 && perv< 0)perv=i,posl=i; if (b[ i] <0) posl= i;}
if( perv < 0 && posl < 0)a=b[ perv], b[ perv]= b[ posl], b[ posl] =a;
Похожие вопросы
- Поиск наибольшего отрицательного элемента массива (c++) и его удаление, написал программу, где то косячек =/
- Отсортировать отрицательные элементы массива по убыванию, пропуская положительные и нули. Вывести массив до и после сорт
- (плиз решите на С++) Количество отрицательных элементов массива и заменить эти элементы их квадратами. Одномерный масси
- удалить все элементы, кроме имеющих заданное произведение цифр. язык си++.нужна срочная помощь
- в языке СИ (просто СИ!!!!) чем отличаются два цикла. for(t=0; t
- поменяйте местами наибольший элемент данного одномерного массива с первым элементом и найменьший с последним ( язык си)
- Язык Си: В одномерном массиве, состоящем из n вещественных элементов, вычислить: номер максимального по модулю элемента
- Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами - C++
- Помогите с массивами! Найти и вывести на экран сумму нечётных элементов массива и количество отрицательных.
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .