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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 13:58   #1
Evgen.O
 
Регистрация: 11.12.2011
Сообщений: 8
По умолчанию Одномерный массив на Си

Даны целые числа a1, a2, … Известно, что a1 > 0 и что среди a2,a3,… есть хотя бы одно отрицательное число. Пусть a1,…,an – члены данной последовательности, предшествующие первому отрицательному члену (n заранее неизвестно). Получить: max(a1^2,......,an^2)
Evgen.O вне форума Ответить с цитированием
Старый 13.12.2011, 14:58   #2
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

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

#define SIZE 20

int main()
{
    int mas[SIZE];
    int FirstNegative = 0;
    printf("Enter the numbers:\n\n");
    for(int i = 0; i < SIZE; i++)
    {
        scanf("%d",&mas[i]);
        if((mas[i] < 0)&&(!FirstNegative)) FirstNegative = i; 
     }
    printf("Your array: ");
    for(int i = 0; i < SIZE; i++)
        printf("%d ",mas[i]);
    
    //Собственно сама задача
    int imax = 0;
    for(int i = 1; i < FirstNegative; i++)
         if(mas[i] > mas[imax]) imax = i;
    printf("The index of largest number is: %d", imax);
    getch();
}
Признаю сразу, код не компилил. Но сразу на вопрос: "Почему не возвожу в квадрат?" отвечу. Потому что числа всё равно все положительные, следовательно что число, что его квадрат будут больше или меньше фиксированного, поэтому как-то незачем вводить еще операций))
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 13.12.2011, 21:15   #3
Evgen.O
 
Регистрация: 11.12.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от MooNDeaR Посмотреть сообщение
Код:
#include <stdio.h>
#include <conio.h>

#define SIZE 20

int main()
{
    int mas[SIZE];
    int FirstNegative = 0;
    printf("Enter the numbers:\n\n");
    for(int i = 0; i < SIZE; i++)
    {
        scanf("%d",&mas[i]);
        if((mas[i] < 0)&&(!FirstNegative)) FirstNegative = i; 
     }
    printf("Your array: ");
    for(int i = 0; i < SIZE; i++)
        printf("%d ",mas[i]);
    
    //Собственно сама задача
    int imax = 0;
    for(int i = 1; i < FirstNegative; i++)
         if(mas[i] > mas[imax]) imax = i;
    printf("The index of largest number is: %d", imax);
    getch();
}
Спасибо! Очень помогли.

Последний раз редактировалось Evgen.O; 13.12.2011 в 21:19.
Evgen.O вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
одномерный массив Максикок Помощь студентам 0 02.12.2010 22:20
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40