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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
#1

Почему у меня не работает программа? - C++

14.01.2013, 15:18. Просмотров 697. Ответов 19
Метки нет (Все метки)

блин что тут не так?
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
#include <iostream>
#include <math.h>
using namespace std;
const int n=5,m=6;
int main()
{
    int i,j;
    int a[n][m];
    int k,sum;
    for (i=1;i<n;i++)
    {
        for (j=1;j<m;j++)
        {
            a[i][j]=(rand()%100)-50;
            cout<<a[i][j]<<'\n';
        }
        k=0;
        for (j=1;j<m;j++)
        {
            sum=0;
            for (i=1;i<n;i++)
            {
                sum=sum+a[i][j];
                for (i=1;i<n;i++)
                {
                    if (a[i][j]>sum-a[i][j])
                        k=k+1;
                    if (k=1)
                        cout<<':';
                    cout<<a[i][j]<<'\n';
                    if (k=0)
                        cout<<'-';
                }
            }
        }
        cout<<'k=';
        return 0;
    }
}



буду благодарна)))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 15:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему у меня не работает программа? (C++):

Почему у меня не работает нужно исправить - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;math.h&gt;...

Не могу понять почему у меня не работает sound,delay,nosound.... - C++
Не могу понять почему у меня не работает sound,delay,nosound.... Пишет ошибку Unitms.cpp(7): E2268 Call to undefined function 'sound' ...

Почему при выборе switch у меня не работает вывод дерева на экран?! - C++
////////////////////////////////////////////////////// // // // Ñîçäàòü ïðîãðàììó äëÿ...

Ребята, у меня не работает программа. Посмотрите - C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащей хотя бы один...

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

Почему не работает программа? - C++
что нужно изменить??? #include &lt;iostream&gt; using namespace std; class s { private: char str; //строка, которая вместит...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 15:20 #2
тут ошибка
Цитата Сообщение от aisylu Посмотреть сообщение
if (k=0)
C++
1
if (k == 0)
1
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 15:23  [ТС] #3
1>LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
такая ошибка вот

Добавлено через 1 минуту
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
тут ошибка

C++
1
if (k == 0)
все равно то же самое пишет(
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 15:33 #4
Фигурные скобки неправильно расставлены. После return 0; две закрывающих стоят
Цитата Сообщение от aisylu Посмотреть сообщение
return 0;
}
}
0
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 15:44  [ТС] #5
пыталась даже отключить
Enable Incremental Linking
но пишет
"Зачет.exe": Загружено: "C:\Users\00\Desktop\Зачет\Зачет\Debug\Зачет.exe", Символы загружены.
"Зачет.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll", Невозможно найти или открыть файл PDB
"Зачет.exe": Загружено: "C:\Windows\SysWOW64\kernel32.dll", Невозможно найти или открыть файл PDB
"Зачет.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll", Невозможно найти или открыть файл PDB
"Зачет.exe": Загружено: "C:\Windows\SysWOW64\msvcp100d.dll", Символы загружены.
"Зачет.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll", Символы загружены.
Программа "[90840] Зачет.exe: Машинный код" завершилась с кодом 0 (0x0).

Добавлено через 11 минут
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Фигурные скобки неправильно расставлены. После return 0; две закрывающих стоят
нет там вроде все правильно. я прочитала что это может быть, из-за того, что у меня 2012 раньше установлен был
0
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 15:44 #6
Учитесь делать код структурированным. Так легче понять. А по теме, у вас ретурн в конце первого цикла(внутри цикла). Цикл выполнится только 1 раз и программа завершится.
Вот вынес return и cout за цикл теперь завершается позже:
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
#include <iostream>
using namespace std;
const int n=5,m=6;
int main() {
    int i,j;
    int a[n][m];
    int k,sum;
    for (i=1;i<n;i++) {
        for (j=1;j<m;j++) {
            a[i][j]=(rand()%100)-50;
            cout<<a[i][j]<<'\n';
        }
        k=0;
        for (j=1;j<m;j++) {
            sum=0;
            for (i=1;i<n;i++) {
                sum=sum+a[i][j];
                for (i=1;i<n;i++) {
                    if (a[i][j]>sum-a[i][j])
                        k=k+1;
                    if (k==1)
                        cout<<':';
                    cout<<a[i][j]<<'\n';
                    if (k==0)
                        cout<<'-';
                }
            }
        }
    }
    cout<<'k=';
    getchar();
    return 0;
}
1
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 15:53  [ТС] #7
Цитата Сообщение от TrueBit Посмотреть сообщение
Учитесь делать код структурированным. Так легче понять. А по теме, у вас ретурн в конце первого цикла(внутри цикла). Цикл выполнится только 1 раз и программа завершится.
Вот вынес return и cout за цикл теперь завершается позже:
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
#include <iostream>
using namespace std;
const int n=5,m=6;
int main() {
    int i,j;
    int a[n][m];
    int k,sum;
    for (i=1;i<n;i++) {
        for (j=1;j<m;j++) {
            a[i][j]=(rand()%100)-50;
            cout<<a[i][j]<<'\n';
        }
        k=0;
        for (j=1;j<m;j++) {
            sum=0;
            for (i=1;i<n;i++) {
                sum=sum+a[i][j];
                for (i=1;i<n;i++) {
                    if (a[i][j]>sum-a[i][j])
                        k=k+1;
                    if (k==1)
                        cout<<':';
                    cout<<a[i][j]<<'\n';
                    if (k==0)
                        cout<<'-';
                }
            }
        }
    }
    cout<<'k=';
    getchar();
    return 0;
}

все равно тоже самое, потому что видимо тут ошибка не в коде, а с самой программой что-то не то

Добавлено через 1 минуту
вот я нашла то что вот это сделать нужно

Да, я не внимательно посмотрел, слона как, говорится, не заметил.
В главном меню Проект->Свойства. Откроется окно Страница свойств ...
Там слева переходим Свойства конфигурации->C/C++-Создание кода.
Теперь справа находим строку Библиотека времени выполнения.
Если у вас отладочная версия, то содержимое строки должно быть Многопоточная DLL с возможностью отладки (/MDd) или Многопоточная с возможностью отладки (/MTd).
Проверьте это.


но у меня visual studio 2010 ничего подобного не нашла

Добавлено через 25 секунд
помогите пожалуйста! а то мне программы завтра сдавать надо уже((
0
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 15:53 #8
Вобще, что програма должна делать? У вас и первые 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
#include <iostream>
using namespace std;
const int n=5,m=6;
int main() {
    int i,j;
    int a[n][m];
    int k,sum;
    for (i=0;i<n;i++) {
        for (j=0;j<m;j++) {
            a[i][j]=(rand()%100)-50;
            cout<<a[i][j]<<'\n';
        }
    }
    k=0;
    for (j=0;j<m;j++) {
        sum=0;
        for (i=0;i<n;i++) {
            sum=sum+a[i][j];
            for (i=0;i<n;i++) {
                if (a[i][j]>sum-a[i][j])
                    k=k+1;
                if (k=1)
                    cout<<':';
                cout<<a[i][j]<<'\n';
                if (k=0)
                    cout<<'-';
            }
        }
    }
    cout<<'k=';
    getchar();
    return 0;
}
1
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 15:56  [ТС] #9
[QUOTE=TrueBit;3999774]Вобще, что програма должна делать? У вас и у первых двух циклов неправильно скобки стоят, если хотите рендомно забить массив перед основным алгоримом:

определить к количество особых эелментов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца. У меня ан паскале он записанный есть. все почти так же, и работает.

КОгда у меня 2012 был, я его один раз запустила, все ок работало, пыталась на следующий день опять запустить, ошибки какие то выдавало, и так с каждой программой, решила переустановить, сейчас 2010 стоит ((
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 16:02 #10
aisylu, А вы наверно пустой проект создаете? У меня тоже VS 2010, но таких ошибок еще не было
1
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 16:25  [ТС] #11
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
aisylu, А вы наверно пустой проект создаете? У меня тоже VS 2010, но таких ошибок еще не было
да пустой. ну все наверно из-за того, что у меня 2012 раньше был

Добавлено через 21 минуту
так я написала в конце вот так cin.get();
cin.get();
return 0;
}
но
теперь другая проблема, вроде и есть '\n' но перевод на другую строку не осуществляется))
0
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 16:27 #12
вот держи:
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 <iostream>
#include <ctime>
using namespace std;
#define n 5
#define m 6
 
int sum_stolb(int * mas,int num_stolb) { // возвращает сумму эл-тов стобца
    int sum=0;
    for(int i=0; i<5; i++)
        sum+=mas[i*m+num_stolb];
    return sum;
}
int main() {
    int a[n][m];
    int k=0;
    int sum=0;
    srand((unsigned)time(NULL));
    for (int i=0;i<n;i++) {
        for (int j=0;j<m;j++) {
            a[i][j]=(rand()%100)-50;
            printf("%4d ",a[i][j]);
        }
        printf("\n");
    }
    printf("------------------------------\n");
    for(int j=0;j<m;j++)
        printf("%4d ",sum_stolb(*a,j));
    printf("\n");
    for(int j=0;j<m;j++) {
        for(int i=0;i<n;i++)
            if(a[i][j]>sum_stolb(*a,j))
                k++;
    }
    cout<<"k=" <<k;
    getchar();
}
0
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 16:39  [ТС] #13
Цитата Сообщение от TrueBit Посмотреть сообщение
вот держи:
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 <iostream>
#include <ctime>
using namespace std;
#define n 5
#define m 6
 
int sum_stolb(int * mas,int num_stolb) { // возвращает сумму эл-тов стобца
    int sum=0;
    for(int i=0; i<5; i++)
        sum+=mas[i*m+num_stolb];
    return sum;
}
int main() {
    int a[n][m];
    int k=0;
    int sum=0;
    srand((unsigned)time(NULL));
    for (int i=0;i<n;i++) {
        for (int j=0;j<m;j++) {
            a[i][j]=(rand()%100)-50;
            printf("%4d ",a[i][j]);
        }
        printf("\n");
    }
    printf("------------------------------\n");
    for(int j=0;j<m;j++)
        printf("%4d ",sum_stolb(*a,j));
    printf("\n");
    for(int j=0;j<m;j++) {
        for(int i=0;i<n;i++)
            if(a[i][j]>sum_stolb(*a,j))
                k++;
    }
    cout<<"k=" <<k;
    getchar();
}

блин работает, но там мне многое не понятно...и мы так не пишем
0
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 17:03 #14
Я несовсем понял, что вы хотели сказать через ':' и через '-' в cout? Это что подходит эл-т или нет? Вот ваш код изменил, возможно печатает что хотели(мой код между /* и */ можно удалить - это коментарий):
P.S. если хотите чтобы программа выдавала разные значения, то добавьте библиотеку #include <ctime> после <iostream>, и в main'e вызовите один раз функцию srand((unsigned)time(NULL));
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
#include <iostream>
#include <math.h>
using namespace std;
const int n=5,m=6;
/*int sum_stolb(int * mas,int num_stolb) {
    int sum=0;
    for(int i=0; i<5; i++)
        sum+=mas[i*m+num_stolb];
    return sum;
}*/
int main()
{
    int i,j;
    int a[n][m];
    int k,sum;
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            a[i][j]=(rand()%100)-50;
            cout<<a[i][j] << " ";
            //printf("%4d ",a[i][j]);
        }
        cout << "\n";
    }
 
    /*cout << "---\n";
    for(int i=0; i<m;i++)
        cout << sum_stolb(*a,i) << " ";
    cout << "\n";*/
 
    k=0;
    for(j=0;j<m;j++)
    {
        sum=0;
        for (i=0;i<n;i++)
        {
            sum=sum+a[i][j];
        }
        for (i=0;i<n;i++)
        {
            if (a[i][j]>sum) {
                cout<<"yes" << a[i][j] << " ";
                k=k+1;
            } else {
                cout<<"no" << a[i][j]<<" ";
            }
        }
        cout << "\n";
    }
    cout<<"k=" << k;
    getchar();
    return 0;
}
1
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 17:33  [ТС] #15
Ну почти

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
#include <iostream>
#include <math.h>
using namespace std;
const int n=5,m=6;
int main()
{
    int i,j;
    int a[n][m];
    int k,sum;
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            a[i][j]=(rand()%100)-50;
            cout<<a[i][j] << " ";
            //printf("%4d ",a[i][j]);
        }
        cout << "\n";
    }
    k=0;
    for(j=0;j<m;j++)
    {
        sum=0;
        for (i=0;i<n;i++)
        {
            sum=sum+a[i][j];
        for (i=0;i<n;i++)
                {
                  if (a[i][j]>sum-a[i][j])
                        k=k+1;
                    if (k==1)
                        cout<<':';
                    cout<<a[i][j]<<'\n';
                    if (k==0)
                        cout<<'-';
        }
            }
        cout << "\n";
        }
       cout<<"k=" << k;
    getchar();
    return 0;
}
вот что у менят. только там после матрицы что-то лишнее пишет, как убрать???

Добавлено через 6 минут
вот как у меня на паскале..хотелось бы также

Pascal
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
Const
  n=5;
  m=6;
Var
  a: array [1..n, 1..m] of integer;
  i, j, k: integer;
  sum: integer;
Begin
  randomize;
  writeln('Матрица А:');
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      a[i,j]:=random(100)-20;
      write(a[i,j]:4);
    end;
    writeln;
  end;
  k:=0;
  for j:=1 to m do
  begin
    sum:=0;
    for i:=1 to n do
      sum:=sum+a[i,j];
    for i:=1 to n do
      if a[i,j] > sum-a[i,j]
      then
      begin
      k:=k+1;
      if k=1 then writeln(':');
       writeln(a[i,j]);
       if k=0 then writeln(' k элементов нет');
      end;
  end;
  writeln('Результат:', k);
  readln;
End.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 17:33
Привет! Вот еще темы с ответами:

Почему не работает программа? - C++
//--------------------------------------------------------------------------- #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;vcl.h&gt; ...

Почему не работает программа? - C++
Пожалуйста, подскажите, почему программа при введении 1 или 2 ничего не выводит? #include &lt;iostream&gt; #include &lt;windows.h&gt; using...

Почему программа не работает? - C++
Здраствуйте, я решил изучить с++, делал все упражнения по бесплатным урокам Михаила Майорова, но как только я попробовал самостоятельно...

Почему не работает программа? - C++
#include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;string&gt; using namespace std; void sortGroup(string *surnames, string...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.01.2013, 17:33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru