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

Заменять первый положительный элемент массива средним арфиметическим - C++

Восстановить пароль Регистрация
 
Milan6265
1 / 1 / 0
Регистрация: 29.10.2010
Сообщений: 17
29.10.2010, 21:27     Заменять первый положительный элемент массива средним арфиметическим #1
составить программу,которая в одномерном массиве f[m],m<=11 заменяет первый положительный элемент средним арфиметическим всех отрицатльных элементов массива.исходный и преобразованный массивы вывести в поясняющим текстом))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2010, 21:27     Заменять первый положительный элемент массива средним арфиметическим
Посмотрите здесь:

C++ Переставить в 1-м массиве первый отрицательный и последний положительный элемент местами
Исключить из массива первый, предшествующий максимуму, положительный элемент C++
C++ Первый элемент каждого четного столбца заменить средним арифметическим
C++ найти первый положительный элемент и записать данные в новый массив
C++ Первый отрицательный и последний положительный элемент читаемый из файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 21:37     Заменять первый положительный элемент массива средним арфиметическим #2
C
1
2
3
4
5
6
7
8
9
10
11
int f[m],i,j,ii,k=0,g=0;
 
for (i=0;i<m;i++)
if (f[i]>0)
{ii=i;break;}
 
for (i=0;i<m;i++)
if (f[i]<0){
g+=f[i]; k++;}
g=g\k;
printf ("%d", g);
Milan6265
1 / 1 / 0
Регистрация: 29.10.2010
Сообщений: 17
29.10.2010, 21:45  [ТС]     Заменять первый положительный элемент массива средним арфиметическим #3
m не определено пишет((я почти не шарю в си...
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 21:48     Заменять первый положительный элемент массива средним арфиметическим #4
Цитата Сообщение от Milan6265 Посмотреть сообщение
m не определено пишет((я почти не шарю в си...
ну правильно
объяви m (например в #define m 11, const int m=11 или введи с клавиатуры)
дальше введи массив

или тебе полный код написать?
Milan6265
1 / 1 / 0
Регистрация: 29.10.2010
Сообщений: 17
29.10.2010, 21:56  [ТС]     Заменять первый положительный элемент массива средним арфиметическим #5
напиши как не жалко..мне эт на аттестации дали...в бауманке
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 22:11     Заменять первый положительный элемент массива средним арфиметическим #6
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
#include <stdio.h>
int main ()
{ int f[11],i,j,ii,k=0,g=0;
clrscr (); 
 
printf ("Введите m");
scanf ("%d", &m);
 
for (i=0;i<m;i++)               // простой ввод массива
{ printf("\nВведите f[%d]", i+1);
   scanf ("%d", &f[i]);
}
 
printf ("\n Исходный массив:"); 
for (i=0;i<m;i++)                         //Вывод массива
printf ("%5d", f[i]);
 
for (i=0;i<m;i++)
if (f[i]>0)
{ii=i;break;}
 
for (i=0;i<m;i++)
if (f[i]<0){
g+=f[i]; k++;}
g=g\k;
printf ("%d", g);
 
getch ();
 
return 0;
}
Milan6265
1 / 1 / 0
Регистрация: 29.10.2010
Сообщений: 17
29.10.2010, 22:30  [ТС]     Заменять первый положительный элемент массива средним арфиметическим #7
мощно...только там были кое какие ошибки

Добавлено через 3 минуты
clrscr (); вот это не распознает
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 22:31     Заменять первый положительный элемент массива средним арфиметическим #8
Цитата Сообщение от Milan6265 Посмотреть сообщение
мощно...только там были кое какие ошибки
и где-же
самому интересно стало ))

добавь в начало
C
1
#include <conio.h>
а ну да

C
1
2
3
...
int m;
...
и точку с запятой пропустил
Астик
 Аватар для Астик
11 / 11 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
29.10.2010, 22:35     Заменять первый положительный элемент массива средним арфиметическим #9
Цитата Сообщение от go Посмотреть сообщение
for (i=0;i<m;i++) // простой ввод массива
{ printf("\nВведите f[%d]", i+1);
scanf ("%d", &f[i]);
он у тебя будет считывать не f[i] а f[i+1] и у тебя теряется 0 элемент и появляется лишний !!!! здесь просто надо использовать флаг ! простая прога !
щас пропишу сам код
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 22:42     Заменять первый положительный элемент массива средним арфиметическим #10
Цитата Сообщение от Астик Посмотреть сообщение
он у тебя будет считывать не f[i] а f[i+1] и у тебя теряется 0 элемент и появляется лишний !!!! здесь просто надо использовать флаг ! простая прога !
щас пропишу сам код
НЕ БУДЕТ!!!
я вывожу i+1
но не наращиваю i
это точно!!

Добавлено через 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
#include <stdio.h>
#include <conio.h>
int main ()
{ int f[11],i,j,ii,k=0,g=0,m;
clrscr (); 
 
printf ("Введите m");
scanf ("%d", &m);
 
for (i=0;i<m;i++)               // простой ввод массива
{ printf("\nВведите f[%d]= ", i+1);
   scanf ("%d", &f[i]);
}
 
printf ("\n Исходный массив:"); 
for (i=0;i<m;i++)                         //Вывод массива
printf ("%5d", f[i]);
 
for (i=0;i<m;i++)
if (f[i]>0)
{ii=i;break;}
 
for (i=0;i<m;i++)
if (f[i]<0){
g+=f[i]; k++;}
g=g/k;
printf ("%d", g);
 
getch ();
 
return 0;
}

ТЕПЕРЬ ТОЧНО РАБОТАЕТ!!!
не путай i++ и i+1
Milan6265
1 / 1 / 0
Регистрация: 29.10.2010
Сообщений: 17
29.10.2010, 22:46  [ТС]     Заменять первый положительный элемент массива средним арфиметическим #11
опять эту фигню подчеркивает
Астик
 Аватар для Астик
11 / 11 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
29.10.2010, 22:47     Заменять первый положительный элемент массива средним арфиметическим #12
Цитата Сообщение от go Посмотреть сообщение
НЕ БУДЕТ!!!
я вывожу i+1
но не наращиваю i
это точно!!
умник попробуй это в си запустить !!!!!
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 22:49     Заменять первый положительный элемент массива средним арфиметическим #13
Цитата Сообщение от Астик Посмотреть сообщение
умник попробуй это в си запустить !!!!!
запуска и не раз!!! а ты поучи си
Астик
 Аватар для Астик
11 / 11 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
29.10.2010, 23:06     Заменять первый положительный элемент массива средним арфиметическим #14
Цитата Сообщение от go Посмотреть сообщение
запуска и не раз!!! а ты поучи си
так значит у тя си такой же кривой как и твои руки !!!!!
вот норм прога козер. кому еще надо учится !!чему чему а эту хуйню я способен на си решить !
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main(void)
{
    int i,k,fl=1,temp,z;
    float sum=0,d[11];
    setlocale(LC_CTYPE,"Rus");
    printf("введите количество элементов массива ");
    scanf("%d",&k);
    if(k>5)
    printf("\nвведите %d элементов массива через пробел\n",k);
    else printf("\nвведите %d элементa массива через пробел\n",k);
    for(i=0;i<k;i++)
        scanf("%f",&d[i]);
    for(i=0;i<k;i++)
        printf("%f ",d[i]);
    printf("\n");
    for(i=0;i<k;i++)
        if(d[i]>0)
            if(fl)
            {
                z=i;
                fl=0;
            }
    
    for(i=0;i<k;i++)
        if(d[i]<0)
            sum+=d[i];
    sum=sum/k;
    temp=sum;
    sum=d[z];
    d[z]=temp;
    printf("полученный массив\n");
    for(i=0;i<k;i++)
        printf("%f ",d[i]);
    getch();
    return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 23:11     Заменять первый положительный элемент массива средним арфиметическим #15
Цитата Сообщение от Астик Посмотреть сообщение
if(k>5)
printf("\nвведите %d элементов массива через пробел\n",k);
else printf("\nвведите %d элементa массива через пробел\n",k);
к чему бы это
дальше не смотрел, т.к. уже видны оштбки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2010, 23:21     Заменять первый положительный элемент массива средним арфиметическим
Еще ссылки по теме:

C++ Для каждого столбца матрицы найти первый положительный элемент
Поменять местами первый отрицательный и последний положительный элемент массива C++
C++ Исключить из массива первый положительный элемент

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

Или воспользуйтесь поиском по форуму:
Астик
 Аватар для Астик
11 / 11 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
29.10.2010, 23:21     Заменять первый положительный элемент массива средним арфиметическим #16
Цитата Сообщение от go Посмотреть сообщение
к чему бы это
дальше не смотрел, т.к. уже видны оштбки
та хуесос уже клинишь !!!! е не виноват если тебя не научили в школе по падежам склонять!!! есть разница между введите 5 элемента или 5 элементов !!!! или 3 элементов 3 элемента !!!!
мозги включи если они есть !!!!
Milan6265 вот те более красивая и с проверкой прога !!!

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
45
46
47
48
49
50
51
52
53
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main(void)
{
    int i,k,fl=1,z;
    float sum=0,temp,d[11];
    setlocale(LC_CTYPE,"Rus");
    printf("введите количество элементов массива ");
    scanf("%d",&k);
    if(k>5)
    printf("\nвведите %d элементов массива через пробел\n",k);
    else printf("\nвведите %d элементa массива через пробел\n",k);
    for(i=0;i<k;i++)
        scanf("%f",&d[i]);
    for(i=0;i<k;i++)
        printf("%f ",d[i]);
        printf("\n");
    for(i=0;i<k;i++)
        if(d[i]>0)
            if(fl)
            {
                z=i;
                fl=0;
            }
    if(fl)
    {
        printf("положительных элеметов в данном массиве нет");
        getch();
        return 0;
    }
    
    for(i=0;i<k;i++)
        if(d[i]<0)
            sum+=d[i];
    if(sum==0)
    {
        printf("отрицательных  элеметов в данном массиве нет");
        getch();
        return 0;
    }
    sum=sum/k;
    temp=sum;
    sum=d[z];
    d[z]=temp;
    printf("\n__________________________________________________________");
    printf("\nполученный массив\n");
    for(i=0;i<k;i++)
        printf("%f ",d[i]);
    getch();
    return 0;
}
Yandex
Объявления
29.10.2010, 23:21     Заменять первый положительный элемент массива средним арфиметическим
Ответ Создать тему
Опции темы

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