1

Тема: Робота через головну функцію подивіться що нетак чому неробить.

Просто я нерозумію як передавати інформацію в головну функцію.
Нічого невиходить.
Сам код просто через int main() без додаткових функцій робить нормально.

#include <iostream>

using namespace std;

#include<iostream>
#include<cmath>
using namespace std;
int main()
    {
    int *a[100][100],i,j,*s;
    cout<<a[i][j]<<" ";
    cout<<endl;
    cout<<s<<" ";
    return 0;
}
int Matrix(int *b[100], int n)
{
    float a[100][100],b[100][100],s;
    int m,n,num,i,j;

    cin>>m>>n;

    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
        {
            cin>>a[i][j];
        }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            if(a[i][j]>0)
            {
                b[i][j] = (int) a[i][j];
            }
            else
            {
                b[i][j] = a[i][j];
            }
         
        }
    }
return n;

}

int num(int *a[100], int n,int *s,int num)
{
    int n,a[100][100],i,j,s; s=0;
    int num;
cin>>num;
    for(i=0;i<n;i++){
        s=0;
        for(j=0;j<n;j++){
            if(a[i][j]>num) s=s+a[i][j];
        }
    }
    return num;
}

2

Re: Робота через головну функцію подивіться що нетак чому неробить.

int *a[100][100]

Треба так:

int **a;
a=new int*[100];
for(i=0;i<100;i++) a[i]=new int[100];

int Matrix(int *b[100], int n)

А тут так:

int Matrix(int **b, int n)

І по завершеню програми не забувати прибиратись:

for(i=0;i<100;i++) delete [] a[i]; delete [] a;

Хоча про delete такой матриці тобі треба б почитать в підручниках, бо я можу й помилятись щодо звільненя матриць, давно так не працював з ними...

3

Re: Робота через головну функцію подивіться що нетак чому неробить.

Дивіться яка проблема , пишу найпростішу програму для прикладу вивід повідомлення ... натискаю f5 програма компіоюється і коли дохоть до exe файлу він не відкриваєтья візуал стідіо зависає чи щось в тому роді що порадите?

4

Re: Робота через головну функцію подивіться що нетак чому неробить.

що порадите?

Трасувати програму. Що ще можна порадити? F10 та F11 жмеш, й дивишся як себе код поводитиме.

5

Re: Робота через головну функцію подивіться що нетак чому неробить.

при f10 f11 все норм після цього програма компілюється ... коли створюю новий проект знову ж звичайна програма F5  зависає

6

Re: Робота через головну функцію подивіться що нетак чому неробить.

Коли компілює видає помилку  допоможіть будьласка.
warning C4700: uninitialized local variable 's' used і
warning C4700: uninitialized local variable 'num' used

#include<iostream>
#include<cmath>
using namespace std;

int main()
    {float a[100][100],b[100][100];
    int m,n,num,i,j,s;
     cin>>m>>n;
      for(i=0;i<m;i++)
        for(j=0;j<n;j++){
            cin>>a[i][j];
        }

    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            if(a[i][j]>0){
                b[i][j] = (int) a[i][j];
            }
            else{
                b[i][j] = a[i][j];
            }
            cout<<b[i][j]<<" ";
        }
        cout<<endl;
    }
    {
        cin>>num; //як мены передати значення num в власну функцію int sum
        cout<<s;  //як передати значення s з власної функцію int sum
    }
    
    return 0;
}


int sum(int *a[100],int n,int m)
{int s=0; int num;
    int i,j;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            if(a[i][j]>num) 
              s=s+a[i][j];
        }
        
    }
    return s;
}

7 Востаннє редагувалося koala (21.11.2015 12:14:40)

Re: Робота через головну функцію подивіться що нетак чому неробить.

Будь ласка, дотримуйтеся термінології. Це не помилки, а попередження - тобто програма із ними може працювати, але, цілком можливо, не так, як ви очікували, про що вас попереджають. Попереджають тут про те, що змінні s і num використовуються перед тим, як їм надано значення, що призводить до невизначеної поведінки. В яких рядках це відбувається - ви чомусь не захотіли копіювати нам, тому шукайте самі.
Тепер - питання, яке ви чомусь внесли в коментар замість написати в питанні: як передати значення в функцію. Ну як-як - просто написати виклик функції, десь так:

cin >> num;
s = sum(a,n,m, num);
cout << s;

і відповідно змінити заголовок функції, щоб приймала 4 параметри, а не 3. І або розмістити всю функцію перед main, або додати перед main її прототип, щоб компілятор, коли зустріне виклик, вже знав, що це за функція.

8

Re: Робота через головну функцію подивіться що нетак чому неробить.

Дякую за допомогу))

koala написав:

Будь ласка, дотримуйтеся термінології. Це не помилки, а попередження - тобто програма із ними може працювати, але, цілком можливо, не так, як ви очікували, про що вас попереджають. Попереджають тут про те, що змінні s і num використовуються перед тим, як їм надано значення, що призводить до невизначеної поведінки. В яких рядках це відбувається - ви чомусь не захотіли копіювати нам, тому шукайте самі.
Тепер - питання, яке ви чомусь внесли в коментар замість написати в питанні: як передати значення в функцію. Ну як-як - просто написати виклик функції, десь так:

cin >> num;
s = sum(a,n,m, num);
cout << s;

і відповідно змінити заголовок функції, щоб приймала 4 параметри, а не 3. І або розмістити всю функцію перед main, або додати перед main її прототип, щоб компілятор, коли зустріне виклик, вже знав, що це за функція.