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

Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию) - C++

Восстановить пароль Регистрация
 
Макс555
 Аватар для Макс555
0 / 0 / 0
Регистрация: 30.06.2011
Сообщений: 23
04.10.2013, 18:50     Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию) #1
В общем первое задание "определить минимальный положительный массив и средне арифметическое значение отрицательных элементов", я сделал, осталось второе это "циклическим сдвигом переместить найденный элемент на последнюю позицию"
Кусок блок схемы по которому нужно делать прилагаться:
Вот сам код:
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
37
38
39
40
41
42
43
44
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include "conio.h"
int_twain(int argc_TCHAR*argv[])
{ 
            float A[100],S=0,min;
            int N,i,imin,K,S;
            do
 {
                  printf("Vedite kolichestvo elementov:\n");
            scanf("%d",&N);
 }
            while(N<3//N>100);
                  printf("Ishodniy masiv\n");
               for(i=0;i<N;i++)
   {
            A[i]=-300+200.0*rand()/RAND_MAX;
                  printf("%8.3f,A[i]\n");
   }
            imin=-1;
            S=0;K=0;imin=1.0e100;
               for(i=0;i<N;i++)
     {
                if(A[i]>0)
       {    
                if(A[i]<min)
        {
            imin-i;min=A[i];
     }
       }
            else
        {
           S=S+A[i];K++;
       }
        } 
               if (imin=-1)
                  printf("\nNet pozitivnih elementov");
            else
                  printf("\nmin=%f",min);
                  printf("\nSrednee arifmeticheskoe=%f",S/K);
           getch();
           return0;
}
Миниатюры
Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2013, 18:50     Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию)
Посмотрите здесь:

Расшифровка строки (циклическим сдвигом букв латинского алфавита на n символов) C++
C++ Является ли первая строка циклическим сдвигом второй строки
C++ дан целочисленный массив Х из 30-ти элементов. найти в нем элемент с максимальным значением, обменять значениями найденный элемент массива с элементов
C++ Помогите доделать программу. Поменять местами найденный максимальный элемент и значение S.
Ребят, нужно написать программу шифровки циклическим сдвигом C++
Найти самый наименьший элемент в матрице, и найти сумму столбца который стоит этот наименьший найденный элемент C++
C++ Как правильно переместить позицию в потоке?
Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
05.10.2013, 15:31     Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию) #2
Вот, например. Функция получает массив, индекс нужного элемента и размер всего массива; после производится сдвиг влево до тех пор пока нужный нам элемент не окажется в конце массива. Можно улучшить алгоритм, если написать еще функцию для сдвига вправо. И если индекс элемента меньше половины размера массива применять сдвиг влево, а если болше - то сдвиг вправо.



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 <iostream>
 
#include <conio.h>
using namespace std;
 
 
void Move_To_The_End(float arr[], int index,int size)
{
    if(index!=size-1)
    {   
        while(index!=(-1))
        {
            float tmp=arr[0];
            for(int i=0;i<size-1;++i)
            {
                arr[i]=arr[i+1];
 
            }
            arr[size-1]=tmp;
            --index;
        }
    }
}
    int main ()
    {    
 
    float arr[]={23,54,1,55,8,3,5,-1,8,5,4445,91};
    int size=sizeof(arr)/sizeof(float);
    Move_To_The_End(arr,11,size);
    for(int i=0;i<size;++i) cout<<arr[i]<<", ";
 
  getch();
  return 0;
   
}
Yandex
Объявления
05.10.2013, 15:31     Массивы (циклическим сдвигом переместить найденный элемент на последнюю позицию)
Ответ Создать тему
Опции темы

Текущее время: 08:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru