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

Почему одинаковые коды работают по разному? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Известны площади круга и квадрата. Определить: а)местится ли круг в квадрате б)уместится ли квадрат в круге http://www.cyberforum.ru/cpp-beginners/thread828290.html
Известны площади круга и квадрата. Определить: а)местится ли круг в квадрате б)уместится ли квадрат в круге /* Заданы площади круга и квадрата.определить, поместится ли круг в квадрате */ #include <iostream> #include <math.h> int main(void)
C++ multiple definition Мне в проэкте в двух файлах нужно подключить один и тот же заголовочный файл с другого проэкта(header.h). Этот заголовочный файл подключает <stdio.h> и у меня ругается на main.o:main.cpp:(.text+0x0): multiple definition of `getc' class.o:class.cpp:(.text+0x0): first defined here main.o:main.cpp:(.text+0x40): multiple definition of `putc' class.o:class.cpp:(.text+0x40): first defined here... http://www.cyberforum.ru/cpp-beginners/thread828288.html
Дано наураьное число n (n>999). Найти число сотен и тысяч в нем с++ C++
Дано наураьное число n (n>999). Найти число сотен и тысяч в нем с++
C++ Создание класса в с++
Помогите ,пожалуйста ,найти ошибку!!!после ввода данных на реализацию методов вылетает((((вот собственно мое задание:Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения прямоугольников на плоскости, изменение размеров, построение наименьшего прямоугольника, содержащего два заданных прямоугольника, и прямоугольника,...
C++ Комбинированный шифр цезаря/виженера с++ http://www.cyberforum.ru/cpp-beginners/thread828281.html
Комбинированный шифр цезаря/виженера с++
C++ Найдите все слова в предложении, содержащие по две буквы М, не стоящие рядом, и определите их количество Найдите все слова в предложении, содержащие по две буквы М, не стоящие рядом, и определите их количество c++ подробнее

Показать сообщение отдельно
Netti
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 9
04.04.2013, 20:09     Почему одинаковые коды работают по разному?
Всем привет!
У меня довольно необычная проблема. Суть её в том, что я написал программу по аналогии с чужой программой. Однако несмотря на то, что коды одинаковые (непринципиальные различия, вроде выведения разных сообщений на экран, я в расчет не беру), моя программа не работает. Конкретно, значение z остается нулевым. Ошибку, несмотря на целый день поиска, не нахожу.
Сама задача такая:
1. Разработать алгоритм и написать программу, которая создает одномерный массив и заполняет его, пока текущее значение, введенное с клавиатуры, не окажется меньше суммы уже введенных значений или пока не будет введено максимальное количество значений.
2. Программа должна сформировать новый массив из нечетных элементов исходного массива.
Если кому-нибудь не очень влом, помогите найти ошибку И пожалуйста, не присылайте своих вариантов решений, я в них всё равно не разберусь, ибо новичок.

Вот мой код:
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
#include <stdio.h>
#include <conio.h>
void main (void)
 {
  int a[100], b[100], s, i=1, k=0, j=0, z=0;
  char r;
  do
   {
    printf ("\n Vvedite 1-e chislo massiva A: \n");
     scanf ("%d", &a[0]);
     s = a[0];
     do
      {
       printf ("\n Vvedite element massiva \n");
       scanf ("%d", &a[i]);
       k++;
       if (a[i] >= s)
        {
         s = s + a[i];
         i++;
        }
       }
      while (a[i] >= s);
     puts ("\n Massiv A: \n");
     for (i=0; i<=k; i++)
      printf ("%6d", a[i]);
     for (i=0; i<=k; i++);
      {
       if (a[i] % 2 != 0)
        {
         b[j] = a[i];
         z++;
         j++;
        }
      }
     puts ("\n Massiv B: \n");
     if (z != 0)
      for (j=0; j<z; j++)
       printf ("%6d", b[j]);
     else
      printf ("\n Massiv B pustoy \n");
     puts ("\n Eshe raz? y/n \n");
     fflush (stdin);
     scanf ("%c", &r);
   }
  while (r == 'y');
 }
А вот чужой:
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
#include <stdio.h>
#include <conio.h>
void main (void)
{
int a[100],b[100],s,i=1,k=0,j=0,z=0;
char r;
do
{
puts("\n Hello! Please, enter the elements of the first array \n");
puts("\n***********************************************************\n");
printf("\n Vvedite 1 chislo\n");
scanf("%d",&a[0]);
s=a[0];
do
{
   printf("\n Vvedite %d chislo \n",i+1);
   scanf("%d",&a[i]);
   k++;
   if(a[i]>=s)
  {
     s=s+a[i];
     i++;
  }
}
while(a[i]>=s);
puts("\n\n");
puts("\n Massiv A \n");
for (i=0;i<=k; i++)
   printf("%6d",a[i]);
 for(i=0;i<=k;i++)
{
    if (a[i]%2!=0)
   {
       b[j]=a[i];
       z++;
       j++;
   }
}
puts("\n***********************************************************\n");
puts("\n Massiv B of odd elements \n");
if(z!=0)
  for (j=0;j<z;j++)
        printf("%6d",b[j]);
else
  printf("\n Massiv b pustoi\n");
puts("\n***********************************************************\n");
puts("\n Continue? (Y/N)\n");
fflush(stdin);
scanf("%c",&r);
}
while(r=='Y');
getch();
}
Заранее спасибо за помощь!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru