Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2012, 20:20   #1
An90
Пользователь
 
Регистрация: 29.09.2012
Сообщений: 10
По умолчанию Одномерные массивы

Дан целочисленный массив А размера 10. Вывести порядковый номер последнего из тех его элементов Ак, которые удовлетворяют двойному неравенству А1<Ak<A10. Если таких элементов нет, то вывести 0.
Посмотрите пожалуйста решение, программа вроде работает, но считает не всегда правильно!!!!! Исправьте ошибки пожалуйста!!!!!
#include <stdio.h>
#include <conio.h>
#include <math.h>

const int n = 10;
int main()
{
int a[n];
int j=0;
printf("Vvedite massiv razmera 10:\n");
for(int i=0;i<n;i++)
scanf("%d",&a[i]);

for(int i=1;i<n-1;i++)
{
j= a[i]>a[0] && a[i]<a[n-1] ? i+1 : 0;
}
printf("%d",j);
getch();
return 0;
}
An90 вне форума Ответить с цитированием
Старый 05.10.2012, 20:35   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,342
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>

const int n = 10;

int
main()
{
    int a[n];
    int j = 0;
    printf("Input array with size %d:\n", n);
    for(int i = 0; i < n; ++i) {
        scanf("%d", &a[i]);
    }
    for(int i = 1; i < n - 1; ++i) {
        if (a[i] > a[0] && a[i] < a[n - 1]) {
            j = i;
        }
    }
    if (j > 0) {
        printf("%d\n", j + 1);
    } else {
        printf("0\n");
    }
    getch();
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 05.10.2012, 20:51   #3
D92
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 29
По умолчанию

Спасибо большое!!!!!
if (j > 0) {
printf("%d\n", j + 1);
} else {
printf("0\n");- объясните пожалуйста это условие!!!!
D92 вне форума Ответить с цитированием
Старый 05.10.2012, 20:54   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,342
По умолчанию

Код:
if (j > 0) {//если j стало ненулевым, то
    printf("%d\n", j + 1);//выводим найденную позицию со сдвигом на 1, т.к. в массиве нумерация с 0
} else {//иначе не нашли такого элемента
    printf("0\n");//выводим 0, как сказано в условии
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 05.10.2012, 20:58   #5
D92
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 29
По умолчанию

Спасибо!!!!!!
D92 вне форума Ответить с цитированием
Старый 05.10.2012, 21:00   #6
An90
Пользователь
 
Регистрация: 29.09.2012
Сообщений: 10
По умолчанию

Спасибо!!!!!!!
An90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
одномерные массивы alexbec-2011 Помощь студентам 0 25.12.2011 08:16
Си Одномерные массивы mad_dm Помощь студентам 0 24.11.2011 16:30
Одномерные массивы cranxx Общие вопросы C/C++ 3 02.12.2010 22:33
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12