Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [С]В одномерном массиве, состоящем из n целочислен 
:(
    Опции темы
Daremez
Дата 31.1.2012, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 29.12.2009

Репутация: нет
Всего: нет



В одномерном массиве, состоящем из n целочисленных элементов:
•    найти сумму элементов, стоящих на позициях, совпадающих с их значением.
•    отсортировать методом выбора элементы, большие среднего арифметического;
Код

#include <stdio.h>
int main()
{
    int i,j,r,n = 10;
    int a[10] = {1,5,2,8,6,2,4,6,9};
    int b[10];
    int b_count = 0;
    int sum=0;    
    int avg=0;
    for(i=0;i < n;i++)
        {
            sum=sum + a[i]; 
        }
    avg=sum/n;
    printf("avg %d, \n",avg);
    for(i=0;i<n;i++)
    {
        if(a[i]=i)sum=sum + a[i];
        if(a[i]>avg){b[b_count]=a[i]; b_count++;}
    }
    printf("sum %d, \n",sum);
    for(i=0;i<b_count;i++)
    {
        int min=i;
         for(j=i+1;j<r;j++){
             if( b[j]<b[min])
                 min=j;
             }
             if(min!=i){
             sum = b[i]; b[i]=b[min]; b[min]=sum;}

    }
    for(i=0;i<b_count;i++)
    printf("%d,",b);
printf("\n");
}

Ребята помогите!
Завтра сдавать...

PM MAIL   Вверх
darkart
Дата 1.2.2012, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: 26
Всего: 31



Лучше потестить...
Код

#include<stdio.h>

#define ARRAY_DIM 7

int main( int argc, char* argv[] )
{
    int arr[ ARRAY_DIM ];
    int i, sum, minPos, currentPos, temp;
    float avg;

    printf( "Array with %d elements?\n", ARRAY_DIM );

    for( i = 0; i < ARRAY_DIM; ++i )
        scanf( "%d", &arr[ i ] );

    printf( "Source array:\n" );

    for( i = 0; i < ARRAY_DIM - 1; ++i )
        printf( "%d ", arr[ i ] );
    printf( "%d\n", arr[ ARRAY_DIM - 1 ] );

    sum = 0;

    for( i = 0; i < ARRAY_DIM; ++i)
    {
        if( arr[ i ] == i )
            sum += i;
    }

    printf( "Sum = %d\n", sum );

    sum = 0;

    for( i = 0; i < ARRAY_DIM; ++i )
        sum += arr[ i ];

    avg = ( float )sum / ARRAY_DIM;

    minPos = 0;

    while( minPos < ARRAY_DIM )
    {
        while( minPos < ARRAY_DIM && arr[ minPos ] <= avg )
            ++minPos;
        if( minPos < ARRAY_DIM )
        {
            currentPos = minPos;

            for( i = minPos + 1; i < ARRAY_DIM; ++i )
            {
                if( arr[ i ] > avg && arr[ i ] < arr[ currentPos ] )
                    currentPos = i;
            }

            temp = arr[ minPos ];
            arr[ minPos ] = arr[ currentPos ];
            arr[ currentPos ] = temp;
        }
        ++minPos;
    }

    printf( "Sorted array:\n" );

    for( i = 0; i < ARRAY_DIM - 1; ++i )
        printf( "%d ", arr[ i ] );
    printf( "%d\n", arr[ ARRAY_DIM - 1 ] );

    return 0;
}

PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.