Форум программистов, компьютерный форум CyberForum.ru

При вводе нуля,программа не правильно работает - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа про массив http://www.cyberforum.ru/cpp-beginners/thread1052701.html
В заданной целочисленной матрице NxM найти номер последней из её строк , содержащих максимальное количество одинаковых элементов. Собственно у меня несколько проблем . 1) Не правильно выделяется память(как думаю я) 2) Не могу подобрать условие чтобы выполнялось условие поставленной задачи . Помогите пожалуйста доработать и понять в чем ошибки и нехватки. #include <stdio.h> #include...
C++ Матрица Помогите пожалуйста решить задачу по двумерным массивам. http://www.cyberforum.ru/cpp-beginners/thread1052699.html
C++ когда вводится нуль,то программа не работает,нужно добавитть еще какое-то условие для нуля ,но я не знаю какое
В массиве целых чисел найти количество чисел с наименьшим ко-личеством цифр. Например, в массиве {123, 34, 56, 1000, 20, 55000, 777, 11} таких чисел 4, это 34, 56, 20, 11. Составить и использовать функцию, которая определяет количество цифр одного целого числа. #include "stdafx.h" #include <iostream> using namespace std; int count(int a)
Переделать программу с использованием функции C++
вот код #include "stdafx.h" #include <iostream> using namespace std; void main () { setlocale(LC_ALL, "RUSSIAN"); int a=0,b=0,c=0,d=0,e=0,f=0,i=0,j=0,k=0,q=0,n,m=0,v=0,l=0; cout<<"ВВедите пожалуйста натуральное число ";
C++ Связный список http://www.cyberforum.ru/cpp-beginners/thread1052688.html
Здравствуйте. Имеется структура struct list { CString name,attr,path,date; list* next; }; list* first = NULL;
C++ Строки. Из введенной последовательности символов выделить слова из словаря Добрый вечер! Задан словарь слов. Необходимо определить , можно ли в веденной последовательности символов выделить слова из словаря? подробнее

Показать сообщение отдельно
DmitryM5
Love~
 Аватар для DmitryM5
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 743
Записей в блоге: 1
23.12.2013, 10:04     При вводе нуля,программа не правильно работает
Цитата Сообщение от Александраа123 Посмотреть сообщение
В целочисленном массиве найти количество четных чисел, рас-положенных между первым и последним нулевыми числами этого мас-сива.
Предусмотреть случаи, когда нет нулей, нуль единственный, нет четных чисел между первым и последним нулевыми числами, и вывести соответствующий текст.

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
54
55
56
#include "stdafx.h"
#include <iostream> 
using namespace std; 
void main() 
{ 
    setlocale(0,""); //Установлена поддержка всех языков
   
    unsigned int c=0;//Объявлены без знаковые переменные.
    int f=-2,l=-1,m[10];//Объявлены знаковые переменные.
   
    
    for(int i=0;i<10;i++) //Цикл на ввод элементов массива.
    {
        cout<<i+1<<"-й элемент - ";//На экран выведено сообщение i+1"-й элемент - "
        cin>>m[i];//Вводим с клавиатуры значение элемента
    }
    for(int i=0;i<m[10];i++)//Цикл нахождения первого нуля.
        if(m[i]==0)
        {
            f=i;
            cout <<"f="<<i <<endl;
            break;
        }
    for(int i=9;i>=0;i--)//Цикл нахождения последнего нуля.
        if(m[i]==0)
        {
            l=i;
            cout <<"l="<<i <<endl;
            break;
        }
    
    if(f==l)//Проверка совпадают ли номера первого и последнего нуля.
        cout<<"В массиве один ноль.";//Если да вывести сообщение "В массиве один ноль."
    else
            if(f==-2 && l==-1)//Если нет проверить равны ли эти переменные стандартным значениям
        cout<<"В массиве нет нулей.";//Если да вывести сообщение "В массиве нет нулей."
    else//Если и это условие не правдиво
    {
        cout<<"Четные числа: ";//Вывести на экран сообщение "Четные числа: "
        for(int i=f+1;i<l;i++)//Цикл вывода четных чисел
        {
            if(m[i]%2==0)//Если элемент при делении на 2 дает остаток 0
            {
                
                c++;//И увеличить счетчик четных чисел.
    
            }
            if(i==l-1 && c==0)//Если это последняя итерация цикла, а счетчик положительных элементов все еще равен 0.
                cout<<"Четных чисел нет.";//Вывести сообщение "Четных чисел нет."
        }
 
    }
 if (c>0)
  cout <<c;
    system("pause");//Остановить выполнение программы до нажатия клавиши
}
Попробуйте так:
C++
1
for(int i=0;i<10;i++)//Цикл нахождения первого нуля.
 
Текущее время: 12:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru