21

Re: Допоможіть будь ласка з написанням програм

Коментар Arete перед вашим прочитайте.

22

Re: Допоможіть будь ласка з написанням програм

Ось що написав, як зробити перевірку в ІФ, щоб він перевіряв, підпослідовності з від'ємних чисел і вибирав найбільшу?

Прихований текст
#include "stdafx.h"
#include <iostream>
#include "windows.h"
#include "locale.h"

void Kilkist (int a1, int a2, int a3, int a4, int a5, int *raz);
int main()
{
    setlocale(LC_ALL, "RUS");
    int n,a,a1,a2,a3,a4,a5,kilk,i;
    printf("Введiть кiлькiсть введень: ");
    scanf_s("%d",&n);
    kilk=0;
    printf("Введiть %d послiдовностей \n",n);
    for (i=0;i<n;i++)
    {
        printf("Введiть [%d] послiдовнiсть: ",i);
        scanf_s("%d %d %d %d %d",&a1,&a2,&a3,&a4,&a5);
        Kilkist(a1,a2,a3,a4,a5,&kilk);
    }
    printf("Кiлькiсть найдовшой пiдпослiдовностi: %d \n",kilk);
    system("Pause");
    return 0;
}
void Kilkist (int a1, int a2, int a3, int a4, int a5, int *raz)
{
    if (????????)
    (*raz)++;
}
Подякували: coder1

23

Re: Допоможіть будь ласка з написанням програм

Забудьте про функції, ви ще базової роботи з циклами не засвоїли (мовчу за масиви). Зробіть так, що на кожне введене число програма відповідала - від'ємне воно чи ні.

24

Re: Допоможіть будь ласка з написанням програм

читайте про масиви, бо це чад гульби в пекельному мороці, наприклад.

Подякували: Arete1

25

Re: Допоможіть будь ласка з написанням програм

Не читайте поки про масиви, вони для цієї задачі не потрібні. Робіть, що я сказав.

Подякували: 0xDADA11C7, Arete2

26

Re: Допоможіть будь ласка з написанням програм

Ось так. Чи в тому коді робити?

#include "stdafx.h"
#include "windows.h"
#include "locale.h"


int main()
{
    setlocale(LC_ALL,"RUS");
    double x;
    printf("Введiть число: ");
    scanf_s("%lf",&x);
    if (x<0)
        printf("Число вiд'емне! \n");
    else
        printf("Число додатне! \n");
    system("pause");
    return 0;
}
Подякували: coder1

27

Re: Допоможіть будь ласка з написанням програм

На кожне, я сказав. Вводите послідовність, кожне перевіряєте.

28 Востаннє редагувалося coder (11.11.2015 15:51:53)

Re: Допоможіть будь ласка з написанням програм

А тепер горбатий, я сказав горбатий. Напишіть 1 цикл

for(;;)

і читайте в ньому все що вводиться з консолі.

29 Востаннє редагувалося Itari (11.11.2015 16:18:28)

Re: Допоможіть будь ласка з написанням програм

Напишіть 1 цикл

Це дурна порада. Не треба робити так.

Якби я хотів знайти послідовність у класичному Си, я б мабудь робив якось так:

    char s[255]={0};
    gets_s(&s[0],255);
    int n=0,i,k=0;
    for(char *c=strtok(s," ");c;c=strtok(0," ")){
        i=atoi(c);
        if(i<0) n++;
        else {k=(n>k)?n:k; n=0;};
    }
    printf("%d",k); getchar();

Че скетч.

30

Re: Допоможіть будь ласка з написанням програм

Ось

#include "stdafx.h"
#include "windows.h"
#include "locale.h"


int main()
{
    setlocale(LC_ALL,"RUS");
    int x1,x2,x3,x4,x5,i,n;
    printf("Введiть послiдовнiсть: ");
    scanf_s("%d %d %d %d %d",&x1,&x2,&x3,&x4,&x5);
        if (0>x1)
            printf("x1= %d Вiд'емне\n",x1);
            if (0>x2)
                printf("x2= %d Вiд'емне\n",x2);
                if (0>x3)
                    printf("x3= %d Вiд'емне\n",x3);
                    if (0>x4)
                        printf("x4= %d Вiд'емне\n",x4);
                        if (0>x5)
                            printf("x5= %d Вiд'емне\n",x5);
                        else printf("Всi Додатнi\n");
    system("pause");
    return 0;
}

31

Re: Допоможіть будь ласка з написанням програм

Чудово. А тепер всі ці xN заженіть в один цикл. Я знаю, ви можете, в першому коді ви так робили.

32

Re: Допоможіть будь ласка з написанням програм

Ось, але проблемка з'явилась. Коли ввожу 1 від'ємне, пише його, але ще пише "всі додатні" ось скрін.

Прихований текст

http://pic.lg.ua/x/15/84b58e/0ccb992c.png

#include "stdafx.h"
#include "windows.h"
#include "locale.h"

int main()
{
    setlocale(LC_ALL,"RUS");
    int x1,x2,x3,x4,x5,i,n;
    printf("Введiть кiлькiсть послiдовностей: ");
    scanf_s("%d",&n);
    for(i=0;i<n;i++)
    {
    printf("Введiть [%d] послiдовнiсть: ",i);
    scanf_s("%d %d %d %d %d",&x1,&x2,&x3,&x4,&x5);
        if (0>x1)
            printf("x1= %d Вiд'емне\n",x1);
            if (0>x2)
                printf("x2= %d Вiд'емне\n",x2);
                if (0>x3)
                    printf("x3= %d Вiд'емне\n",x3);
                    if (0>x4)
                        printf("x4= %d Вiд'емне\n",x4);
                        if (0>x5)
                            printf("x5= %d Вiд'емне\n",x5);
                        else printf("Всi Додатнi\n");
    }
    system("pause");
    return 0;
}

33

Re: Допоможіть будь ласка з написанням програм

snikers.mc
у вас "else printf("Всi Додатнi\n");" відноситься лише до останнього if, а не до всіх зразу.

Подякували: koala1

34 Востаннє редагувалося snikers.mc (11.11.2015 17:08:13)

Re: Допоможіть будь ласка з написанням програм

Якщо записати таким форматом, то тоді воно перевіряє тільки х1, а далі не хоче. Чи це не так записується?

if (0>x1)
            printf("x1= %d Вiд'емне\n",x1);
        else
            if (0>x2)
                printf("x2= %d Вiд'емне\n",x2);
            else
                if (0>x3)
                    printf("x3= %d Вiд'емне\n",x3);
                else
                    if (0>x4)
                        printf("x4= %d Вiд'емне\n",x4);
                    else
                        if (0>x5)
                            printf("x5= %d Вiд'емне\n",x5);
                        else
                            printf("Всi Додатнi\n");

35

Re: Допоможіть будь ласка з написанням програм

Ви не туди пішли. Робіть цикл.
А що там не так - просто розберіть по рядку.
І форматування у вас без else-ів неправильне, що заплутує.

36 Востаннє редагувалося snikers.mc (11.11.2015 17:54:07)

Re: Допоможіть будь ласка з написанням програм

Ось цикл, чи про який ви цикл говорете? Тільки якщо там стоять else, то результат ось такий (картинка), перше від'ємне пише, а останні ігнорує, а якщо немає, то показує всі від'ємні.
КАРТИНКА

Прихований текст

http://pic.lg.ua/x/12/253007/305703fc.png

КОД

Прихований текст
#include "stdafx.h"
#include "windows.h"
#include "locale.h"

int main()
{
    setlocale(LC_ALL,"RUS");
    int x1,x2,x3,x4,x5,i,n;
    printf("Введiть кiлькiсть послiдовностей: ");
    scanf_s("%d",&n);
    for(i=0;i<n;i++)
    {
    printf("Введiть [%d] послiдовнiсть: ",i);
    scanf_s("%d %d %d %d %d",&x1,&x2,&x3,&x4,&x5);
        if (0>x1)
            printf("x1= %d Вiд'емне\n",x1);
        else
            if (0>x2)
                printf("x2= %d Вiд'емне\n",x2);
            else
                if (0>x3)
                    printf("x3= %d Вiд'емне\n",x3);
                else
                    if (0>x4)
                        printf("x4= %d Вiд'емне\n",x4);
                    else
                        if (0>x5)
                            printf("x5= %d Вiд'емне\n",x5);
                        else
                            printf("Всi Додатнi\n");
    }
    system("pause");
    return 0;
}

37

Re: Допоможіть будь ласка з написанням програм

А де в умові було сказано, що послідовностей має бути декілька, а елементів в послідовності - рівно 5?

38

Re: Допоможіть будь ласка з написанням програм

Оста так переобразив.

#include "stdafx.h"
#include "windows.h"
#include "locale.h"

int main()
{
    setlocale(LC_ALL,"RUS");
    int x,i,n,k=0;
    printf("Введiть кiлькiсть елементiв: ");
    scanf_s("%d",&n);
    for(i=0;i<n;i++)
    {
    printf("Введiть [%d] елемент: ",i);
    scanf_s("%d",&x);
        if (x<0)
            k++;
    }
    printf("Вiд'емних чисел в послiдовностi - %d  \n",k);
    system("pause");
    return 0;
}

39

Re: Допоможіть будь ласка з написанням програм

Оста так переобразив.

Це лише підрахунок чисел.
Наразі тобі треба трохи змінити код, щоб рахувати кількість елементів, які нижче нуля, й знаходяться поруч.
Можеш взяти мій приклад вишче на вивченя як зразок.

40

Re: Допоможіть будь ласка з написанням програм

Як мені організувати перевірку ближніх чисел?