• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Количество элементов массива

геймер555

Ученик
Регистрация
8 Июн 2010
Сообщения
3
Реакции
0
Баллы
0
Количество элементов массива

Задача :в одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, меньших 0;
2) сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом - все остальные.

Я ее решил, но нужно сделать через функции.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
float x[100];
int main(int argc, char *argv[])
{
float c, a, s1, sp, otr_element, max_element;
int i, imin, n, b, p, k, s;
printf("Vvedite kolichestvo el-tov massiva: ");
scanf("%d",&n);
for(i = 0; i < n; i++)
x = ((float)rand()/RAND_MAX)*20 - 10;
for(i = 0; i < n; i++)
printf("x[%d] = %7.4f\n",i,x);
printf("\n\nVvedite C: ");
scanf("%f",&c);
for(i = 0, p = 0; i < n; i++) {
if(x < c) p++;
}
printf("1) Kolichestvo elementov masiva menshe C ravno %d\n\n",p);
getch();
for(i = 0; i < n; i++)
if(x < 0) imin = i;
for(s=0; i<n; i++)
s += (int)x;
for(i = imin + 1, s = 0.0; i < n; i++)
s += (int)(x);
printf("2) Summa chelih chastei, posle poslednego otr. elementa = %d\n\n",s);
getch();
max_element = x[0];
for(i = 1; i < n; i++) {
if(x > max_element) max_element = x;
}
for(i = 0; i < n; i++) {
if((x >= s1)&&(x <= max_element)) {
for(k = 0; k < n; k++) {
if(x > x[k]) {
a = x;
x = x[k];
x[k] = a;
}
}
}
printf("Posle sortirovki elementov\n");
for(i = 0; i < n; i++)
x = ((float)rand()/RAND_MAX)*20 - 10;
for(i = 0; i < n; i++)
printf("x[%d] = %7.4f\n",i,x);
return 0;
}
}

Помогите пожалуйста!
 
Назад
Сверху