С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 14
1

Неправильный код программы

29.11.2012, 00:51. Показов 692. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят,помогите,нужно разработать функцию через динамический массив,которая будет проверять,является ли последовательность из N целых чисел возрастающей...

Вот код,почему-то сравнивает только первый и второй элемент и всё....

#include <stdio.h>
#include <stdlib.h>

main()
{
int *t, N, i;
printf("Enter N\n");
scanf("%d", &N);
t=(int*)calloc(N, sizeof(*t));
for(i=0; i<N; i++)
scanf("%d",&t[i]);

for(i=0; i<N; i++)

{
if(t[i]<t[i+1])
printf("Elementy massiva vozrastayut\n");
system("PAUSE");
return 0;
}

printf("Elementy massiva ne vozrastayut\n");

system("PAUSE");
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2012, 00:51
Ответы с готовыми решениями:

Неправильный вывод программы
Ребят,что не так? Ничего не выводит #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; main(){...

Неправильный результат программы возведения в квадрат
Мы вот-вот начали изучать C++. Программирую на Visual Studio Ultimate 2013. Вот решил,...

Неправильный код ошибки в демоне
Когда закрываю все дескрипторы в демоне, в syslog записывается неправильный код ошибки. Выполняю,...

Неправильный код программы на TASM
Здравствуйте. Вот дан текст программы на DEBUG: -a Есть и код на TASM этой программы, но он...

8
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
29.11.2012, 01:07 2
Где-то так, и научитесь использовать теги для вставки кода
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *t, N, i;
    int flag=1;
    printf("Enter N\n");
    scanf("%d", &N);
    t=(int*)calloc(N, sizeof(int));
    for(i=0; i<N; i++)  scanf("%d",&t[i]);
    for(i=0; i<N; i++)  if(t[i]>t[i+1]) flag=0;
    if (!flag)
        printf("Elementy massiva ne vozrastayut\n");
    else
        printf("Elementy massiva vozrastayut\n");
    system("PAUSE");
    return 0;
 
}
строки
C
1
2
for(i=0; i<N; i++)  scanf("%d",&t[i]);
for(i=0; i<N; i++)  if(t[i]>t[i+1]) flag=0;
можно объеденить
C
1
2
3
4
5
for(i=0; i<N; i++) {
scanf("%d",&t[i]);
if(t[i]>t[i+1]) flag=0;
break;
}
0
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 14
29.11.2012, 02:00  [ТС] 3
Всё-равно не получается...
0
Модератор
Эксперт по электронике
8951 / 6717 / 921
Регистрация: 14.02.2011
Сообщений: 23,712
29.11.2012, 02:12 4
Цитата Сообщение от vua72 Посмотреть сообщение
for(i=0; i<N; i++) *if(t[i]>t[i+1]) flag=0;
что будет при таком массиве 2 2 2 2 ???
Цитата Сообщение от toshik11 Посмотреть сообщение
Вот код,почему-то сравнивает только первый и второй элемент и всё...
а что ты хотел ??? если на первой же итерации завершаешь программу
Цитата Сообщение от toshik11 Посмотреть сообщение
for(i=0; i<N; i++)
{
if(t[i]<t[i+1])
printf("Elementy massiva vozrastayut\n");
system("PAUSE");
return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от vua72 Посмотреть сообщение
for(i=0; i<N; i++) {
scanf("%d",&t[i]);
if(t[i]>t[i+1]) flag=0;
break;
}
на первой же итерации вылетаем из цикла (срабатывает break)

Добавлено через 1 минуту
да и с чем сравнивать?
элемент t[i+1] еще не введен
0
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 14
29.11.2012, 02:15  [ТС] 5
ну а какой тогда правильный код???
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
29.11.2012, 03:32 6
Цитата Сообщение от toshik11 Посмотреть сообщение
ну а какой тогда правильный код???
Enter N
5
1 2 3 4 5
Elementy massiva vozrastayut
Для продолжения нажмите любую клавишу . . .


Enter N
5
1 2 3 5 4
Elementy massiva ne vozrastayut
Для продолжения нажмите любую клавишу . . .

И что не получается с моим кодом? Или вы какую-то другую задачу решаете?

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
что будет при таком массиве 2 2 2 2 ???

а что ты хотел ??? если на первой же итерации завершаешь программу


Добавлено через 1 минуту

на первой же итерации вылетаем из цикла (срабатывает break)

Добавлено через 1 минуту
да и с чем сравнивать?
элемент t[i+1] еще не введен
Угу, проглядел поправочка не удалась

Добавлено через 31 минуту
Цитата Сообщение от toshik11 Посмотреть сообщение
ну а какой тогда правильный код???
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *t, N, i;
    int fl=1; // 0 0 не возрастает
    printf("Enter N\n");
    scanf("%d", &N);
    t=(int*)calloc(N, sizeof(int));
    for(i=0; i<N; i++) 
        scanf("%d",&t[i]);
            
    for(i=0; i<N; i++) 
            if(t[i]>=t[i+1]) fl=0;
    if (!fl)
        printf("Elementy massiva ne vozrastayut\n");
    else
        printf("Elementy massiva vozrastayut\n");
    system("PAUSE");
    return 0;
}
без проверки корректности N.
1
Модератор
Эксперт по электронике
8951 / 6717 / 921
Регистрация: 14.02.2011
Сообщений: 23,712
29.11.2012, 05:03 7
Цитата Сообщение от vua72 Посмотреть сообщение
for(i=0; i<N; i++)
* * * * * * if(t[i]>=t[i+1])
на последней итерации (когда i=N-1)
выход за границы массива
1
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 14
29.11.2012, 12:50  [ТС] 8
спасибо огромное за правильный код программы и за поправку по поводу выхода за границы массива тоже спасибо не заметил вначале а как всё это выразить через функцию?))
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
29.11.2012, 19:46 9
Цитата Сообщение от toshik11 Посмотреть сообщение
спасибо огромное за правильный код программы и за поправку по поводу выхода за границы массива тоже спасибо не заметил вначале а как всё это выразить через функцию?))
можно так
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
#include <stdio.h>
#include <stdlib.h>
int * vvod(int razmer);
void func(int *mas, int razmer);
 
int main()
{
    int *mas;
    int N;
    printf("Enter N\n");
    scanf("%d", &N);
    mas=vvod(N);
    func(mas, N);
    free (mas);
    system("PAUSE");
    return 0;
}
int * vvod(int razmer)
{
    int *t, i;
    t=(int*)calloc(razmer, sizeof(int));
    for(i=0; i<razmer; i++)
        scanf("%d",&t[i]);
    return t;
};
void func(int *t, int razmer)
{
    int i;
    int fl=1; // 0 0 не возрастает
    for(i=0; i<razmer-1; i++)
        if(t[i]>=t[i+1]) fl=0;
    if (!fl)
        printf("Elementy massiva ne vozrastayut\n");
    else
        printf("Elementy massiva vozrastayut\n");
};
1
29.11.2012, 19:46
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2012, 19:46
Помогаю со студенческими работами здесь

Неправильный код программы построения графика
Значит вот какое дело. У меня имеется код программы которая строит графики, а конкретно для...

Неправильный код
Добрый день. Помогите исправить код,пожалуйста Задание:Распечатать самый низкий средний балл...

Неправильный код
Регистрирует нормально. Но когда ввести уже занятый логин то пишет и user exists, и user ok и...

Неправильный код
Друзья в чём ошибка кода? Задание такое: нужно запрограммировать связный список, в котором объект...

Неправильный код
type man=class public name:string; age:integer; howareyou:string; end; var h:man; begin

Неправильный вывод из программы
Всем доброго утра. Столкнулся с проблемой которую никак не могу понять. Имеется код программы ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru