Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 1

Определить значения и позиции первого и последнего положительного

22.01.2015, 16:50. Показов 1512. Ответов 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//Дан массив типа double. Определить значения и позиции первого 
//и последнего положительных элементов массива. 
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,n,
        
        ifirst, ilast;
    double x[20]={4, 8.4, 13.6, -34.5, 16.3, -34.9, 18.25, 7, 12, -56.14, 
                                13, 18, 34, -102, 66, -38, -71, 23, 0.4, 15},
        fplus,lplus;
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);      
    printf("\t Введите размер массива <=20\n");
    scanf("%d",&n); 
    if (n<=0 || n>20)
    {   printf("\t Размер массива n=%d не соответствует размеру 1..20 элементов\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("Исходный массив х размером %d\n",n);
    for(i=0; i<n;i++)
        printf("%8.2lf",x[i]); 
 
    ifirst=-1;  
    ilast=-1;
    for(i=0; i>n && x[i]>=1;i++);
    if(i<n) 
    {
        ifirst=i;   fplus=x[i];
        for(i=n+1; i>ifirst && x[i]>=1;i++);
        if(i>ifirst)
            { ilast=i; lplus=x[i];}
 
    }
    if(ifirst==1)
        printf("\n Положительных элементов нет\n");
    else
        if(ilast==1)
            printf("\n Один положительный элемент = %8.2lf, его позиция = %d\n",x[ifirst],ifirst);
        else
            {
             printf("\n Первый положительный элемент = %8.2lf, его позиция = %d\n",x[ifirst],ifirst);
             printf("\n Последний положительный элемент = %8.2lf, его позиция = %d\n",x[ilast],ilast);
            }   
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.01.2015, 16:50
Ответы с готовыми решениями:

Определить порядковые номера и значения первого положительного и последнего отрицательного элементов массива Z.
Нужна помощь с задачей https://www.cyberforum.ru/attachment.php?attachmentid=28986&amp;stc=1&amp;d=1272332730

Определить номера первого положительного и последнего отрицательного элементов массива
Определить порядковые номера и значения первого положительного и последнего отрицательного элементов целочисленного массива X(n). ...

Определить порядковые номера и значения первого положительного элементов массива
завис с еще одной задачей(( помогите кто может! Определить порядковые номера и значения первого положительного и последнего...

6
 Аватар для Tordek
58 / 51 / 38
Регистрация: 22.01.2015
Сообщений: 176
22.01.2015, 19:32
Как по мне, сложновата программа для такого задания. Почему не сделать так?
C++
1
2
3
4
5
6
7
//Ну, ты обьявил здесь массив, а дальше:
int firstadress,lastadress;
for(int i=0;i<20;i++)
{if (x[i]>0) {ifirst=x[i];firstadress=i+1;break;};};
for(int i=19;i>-1;i++)
{if (x[i]>0) {ilast=x[i];lastadress=i+1;break;};};
//Получаешьпервое число и его номер, потом последнее число и его номер(если считать как нормальные люди - с //единицы)
А дальше уже выводишь их на экран сравниваешь, делаешь что хочешь. А то твои циклы с логю опирацией "и" немного мутноваты. Чтобы сделать как у тебя, просто поменяй мои 20 и 19 в форах на n и n-1.
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2015, 19:34
Цитата Сообщение от Tordek Посмотреть сообщение
//Ну, ты обьявил здесь массив, а дальше:
int firstadress,lastadress;
for(int i=0;i<20;i++)
{if (x[i]>0) {ifirst=x[i];firstadress=i+1;break;};};
for(int i=19;i>-1;i++)
{if (x[i]>0) {ilast=x[i];lastadress=i+1;break;};};
ужасное форматирование
0
 Аватар для Tordek
58 / 51 / 38
Регистрация: 22.01.2015
Сообщений: 176
22.01.2015, 19:40
Тебе переписать?

Добавлено через 1 минуту
Слишком мало текста, чтобы была необходимость это делать. Думаю, меня поймут..
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2015, 19:40
Цитата Сообщение от Tordek Посмотреть сообщение
Тебе переписать?
мне не нужно
должен для себя привыкать нормально писать
0
 Аватар для Tordek
58 / 51 / 38
Регистрация: 22.01.2015
Сообщений: 176
22.01.2015, 19:44
Спасибо, постараюсь. Это моя проблема - новичок, что с меня взять
0
Заблокирован
22.01.2015, 22:10
C++
1
2
3
4
5
6
7
8
 const int n = 20;
    double x[n] = {4, 8.4, 13.6, -34.5, 16.3, -34.9, 18.25, 7, 12, -56.14, 13, 18, 34, -102, 66, -38, -71, 23, 0.4, 15};
    
    double* f = std::find_if(x, x + n, std::bind2nd(std::greater<double>(), 0));
    std::cout << "f:" << *f << " i:" << f - x << endl;
 
    reverse_iterator<double*> rf = std::find_if(reverse_iterator<double*>(x + n), reverse_iterator<double*>(x), std::bind2nd(std::greater<double>(), 0));
    std::cout << "rf:" << *rf << " i:" << reverse_iterator<double*>(x) - rf - 1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.01.2015, 22:10
Помогаю со студенческими работами здесь

Определить порядковые номера и значения первого положительного и п оследнего отрицательного элементов массива Z.
https://www.cyberforum.ru/attachment.php?attachmentid=29664&amp;stc=1&amp;d=1272928037

Найти разность первого положительного и последнего отрицательного элементов массива
В заданном векторе (одномерном массиве) найти: разность первого положительного и последнего отрицательного эле- мента ,ввод данных из...

Нахождение первого и последнего положительного элемента массива. Найдите ошибку
Есть такой кусок кода который должен выполнять эту функцию: c:=0; k:=0; x:=false; for i:=1 to n do begin if (m&gt;0) and...

Найти величину и номер первого отрицательного и последнего положительного элементов в массиве
хелп с программой. Найти величину и номер первого отрицательного и последнего положительного элементов в массиве вещественного типа...

В векторе (одномерном массиве) найти: разность первого положительного и последнего отрицательного элемента
В заданном векторе (одномерном массиве) найти: разность первого положительного и последнего отрицательного элемента


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru