C/C++

Емкаа

the worst thing about prison was the dementors.
Член од
14 мај 2008
Мислења
4.923
Поени од реакции
12.416
Да се напише програма која ќе изврши замена на секој елемент на дадена матрица со сумата на елементите од редот и колоната на кои им припаѓа. Притоа вредноста на елементот кој го заменуваме не влегува во сумата. Почетната матрица се внесува преку тастатура. Резултатот се сместува во нова матрица.

Добив некако идеја дека елементот во новата матрица би бил sumaRed+sumaKolona-2*a[j].
Е сеа не знам дали е можно сумата по редици/колони да ја најдам?
 

Amaterasu

123123113
Член од
17 април 2012
Мислења
1.141
Поени од реакции
1.085
Да се напише програма која ќе изврши замена на секој елемент на дадена матрица со сумата на елементите од редот и колоната на кои им припаѓа. Притоа вредноста на елементот кој го заменуваме не влегува во сумата. Почетната матрица се внесува преку тастатура. Резултатот се сместува во нова матрица.

Добив некако идеја дека елементот во новата матрица би бил sumaRed+sumaKolona-2*a[j].
Е сеа не знам дали е можно сумата по редици/колони да ја најдам?

PHP:
#include <iostream>
 
using namespace std;
 
int main()
{
    int m,n;
    cin>>m;
    cin>>n;
    int a[m][n],nova[m][n];
    int i,j,p;
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            cin>>a[i][j];
    for(i=0;i<m;i++) {
        int suma=0;
        for(j=0;j<n;j++) {
 
        for(p=0;p<n;p++)
        suma=suma+a[i][p];
        for(p=0;p<m;p++)
        suma=suma+a[p][j];
        nova[i][j]=suma-2*a[i][j];
        suma=0;
}
    }
 
for(i=0;i<m;i++) {
    cout<<"\n";
        for(j=0;j<n;j++) {
    cout<<a[i][j]<<" ";
        }
}
cout<<"\nNovata e : ";
for(i=0;i<m;i++) {
    cout<<"\n";
        for(j=0;j<n;j++) {
    cout<<nova[i][j]<<" ";
        }
}
}
 
Член од
16 април 2012
Мислења
333
Поени од реакции
217
Можно е, немам сега време ама ти треба два фора за да ја поминуваат цела матрица, и внатре уште два ограничени за редица и колона.
Иначе ова што си го напишала е точно за откако ќе ги најдеш сумите, тој е принципот.
 
Член од
10 февруари 2008
Мислења
843
Поени од реакции
444
Да се напише програма која ќе изврши замена на секој елемент на дадена матрица со сумата на елементите од редот и колоната на кои им припаѓа. Притоа вредноста на елементот кој го заменуваме не влегува во сумата. Почетната матрица се внесува преку тастатура. Резултатот се сместува во нова матрица.

Добив некако идеја дека елементот во новата матрица би бил sumaRed+sumaKolona-2*a[j].
Е сеа не знам дали е можно сумата по редици/колони да ја најдам?
Може таа формула да ја искористиш, а за суми по ред и колона вака да го направиш (ако матрицата е nxn). Директно ја напишав, ама би требало да работи :)
PHP:
for(int i = 0; i < n; i++) {
    for(int j = 0; j < n; j++) {
        int sumR = 0, sumK = 0;
        // izminuvanje na redici i koloni
        for(int k = 0; k < n; k++) {
                sumR += a[i][k];
                sumK += a[k][j];
        }
    }
}
 
Член од
11 октомври 2012
Мислења
12
Поени од реакции
0
Ќе може ли некој да помогне и да ми каже како да направам исклучок(try/catch) во c++, во мојов случај ми треба на пример:
cout<<"Vnesete go vasiot izbor";
cin>>n;
и сега сакам исклучок да имам ако n се внесе како char а не како integer.
Фала однапред.
 

bogev4eboy

Хејтер
Член од
6 март 2011
Мислења
382
Поени од реакции
180
Ќе може ли некој да помогне и да ми каже како да направам исклучок(try/catch) во c++, во мојов случај ми треба на пример:
cout<<"Vnesete go vasiot izbor";
cin>>n;
и сега сакам исклучок да имам ако n се внесе како char а не како integer.
Фала однапред.
cout<<"Vnesete go vasiot izbor";
try
{
cin>>n;
}
catch(Exception e)
{
cout<<"Greska";
}
Може да има некоја синтаксичка грешка во главно тоа е се.
 
Член од
11 октомври 2012
Мислења
12
Поени од реакции
0
cout<<"Vnesete go vasiot izbor";
try
{
cin>>n;
}
catch(Exception e)
{
cout<<"Greska";
}
Може да има некоја синтаксичка грешка во главно тоа е се.

А кај ќе проверува дали е char или integer? Овака и јас знам :)
 

bogev4eboy

Хејтер
Член од
6 март 2011
Мислења
382
Поени од реакции
180
А кај ќе проверува дали е char или integer? Овака и јас знам :)
Да, друг начин со throw. Инаку ако добро се сеќавам имаше една ф-ја isdigit, пробај напиши го ова:
if(!isfigit(н)) //н замени го со n
{
cout<<"Greska";
}
 
Член од
11 октомври 2012
Мислења
12
Поени од реакции
0
Да, друг начин со throw. Инаку ако добро се сеќавам имаше една ф-ја isdigit, пробај напиши го ова:
if(!isfigit(н)) //н замени го со n
{
cout<<"Greska";
}
Аха, ке го пробам ова, фала многу
 
Член од
16 април 2012
Мислења
333
Поени од реакции
217
4. Да се напише програма која за дадена низа од цели броеви a0, a1, …, an-1, ќе генерира нова
низа од цели броеви b0, b1, …, bn-1. Новата низа од броеви се добива од почетната низа на
следниот начин: i-тиот елемент bi
, за i = 1, ..., n – 2, се добива како разлика од најголемиот
елемент во поднизата што почнува од елементот ai+1 (ai+1, ai+2, …, an-1) и најмалиот елемент
во поднизата која завршува со елементот ai-1 (a0, …, ai-2, ai-1); а првиот и последниот елемент
се исти како во почетната низа (т.е. b0 = a0 и bn-1 = an-1). Програмата треба да користи
рекурзивни функции за наоѓање на најголем и најмал елемент во дадена низа, соодветно.

Пример:
Влез: Vnesi go brojot na elementi vo nizata: 5
Vnesi gi elementite na nizata: 7 2 8 1 6
Излез: Novata niza e: 7 1 4 4 6

Помош со main функцијата? Рекурзивна функција за наоѓање најмал и најголем член на низа знам да напишам. Текстов на задачата не го разбирам, дали дека е 3 ипол, дали дека решавам веќе 8 саати, дали дека сум глупав, не знам.
 
Член од
10 јули 2012
Мислења
87
Поени од реакции
54
Помош со main функцијата? Рекурзивна функција за наоѓање најмал и најголем член на низа знам да напишам. Текстов на задачата не го разбирам, дали дека е 3 ипол, дали дека решавам веќе 8 саати, дали дека сум глупав, не знам.
имаш 2 функции -- find_min(int i) и find_max(int i). Првата ти го наоѓа најмалиот елемент од 0 до i, а втората нај-големиот од i до n (ако n ти е должината на низата).

main функцијата претпоставуваш како ќе е сега..
for ( i -> n)
b[ i ] = find_max( i ) - find_min( i );
Тоа е тоа.. Мада функцииве ќе се малку терсене дека треба i-тиот елемент да не го вклучуваш.. Ајде пробај види како ќе ти оди, па ако сакаш ти го праќам и решението. Поз
 
Член од
28 април 2013
Мислења
8
Поени од реакции
0
Moze li nekoj da mi reshi edna zadacha od codefu.mk za 300 boda vo molam hinto mi e jas simnav edna. eve ja
StackMachine

A simple Stack Machine has the following instruction set:

1. PUSH "NUMBER" - Add new element at the top of the stack, with value equals to "NUMBER".
The word "PUSH" is separated from the "NUMBER" part with exactly one SPACE.
"NUMBER" is an integer, with at least one digit, and at most 15 digits.
2. POP - Remove the element that is at the top of the stack.
3. ADD - Addition
4. SUB - Subtraction
5. MUL - Multiplication
6. SWAP - Swaps the two top most elements from the stack.
7. PRINT - Print the element that is at the top of the stack, enclosed in square brackets. If there are no elements in the stack, [EMPTY] is printed.

The three arithmetic instructions (ADD, SUB and MUL) operate on the two top most elements in the stack.
For each arithmetic instructions:
- first the two top most elements are removed from the stack,
- the arithmetic operation is performed and
- the result is pushed as a new top of the stack.
For SUB, the first operand is the element at the top of the stack.

When there are not enough elements in the stack to perform the operation,
the state of the Stack remains unchanged and the instruction prints the following error message: [ERROR].
This is the case for the: ADD, MUL, SUB, SWAP and POP instructions.

Each element of the stack can hold a long number (both positive and negative).
There will be no overflow (guaranteed by the test cases).

Input parameters:
instructions - array of String, the instructions that are to be executed.

Constraints:
instructions will have between 1 and 100 elements, inclusive.
each element of instructions will be a valid instruction, as described above.
the calculation results will never exceed a long value.

Return value:
String, the output of the execution of the instructions.

Class Name:
StackMachine

Method signature:
public String getOutput(String[] instructions)

Test Case 1:
getOutput({"PUSH 3", "PRINT"}) = "[3]"

Test Case 2:
getOutput({"PUSH 2", "PUSH 3", "ADD", "PRINT"}) = "[5]"

Test Case 3:
getOutput({"PUSH 2", "PUSH 3", "MUL", "PRINT"}) = "[6]"

Test Case 4:
getOutput({"PUSH 2", "PUSH 3", "SUB", "PRINT"}) = "[1]"

Test Case 5:
getOutput({"PUSH 3", "PUSH 2", "SUB", "PRINT"}) = "[-1]"

Test Case 6:
getOutput({"PUSH 111", "PUSH 222", "ADD"}) = ""

Test Case 7:
getOutput({"PUSH 200", "ADD", "MUL", "PRINT"}) = "[ERROR][ERROR][200]"

Test Case 8:
getOutput({"PUSH 99999", "SUB", "SWAP", "PRINT"}) = "[ERROR][ERROR][99999]"

Test Case 9:
getOutput({"PUSH 456", "SWAP", "PRINT", "POP", "POP", "PRINT"}) = "[ERROR][456][ERROR][EMPTY]"

Test Case 10:
getOutput({"POP", "PRINT", "PUSH 100", "ADD", "PRINT"}) = "[ERROR][EMPTY][ERROR][100]"
 
Член од
10 февруари 2008
Мислења
843
Поени од реакции
444
на ова задача мислиш? И мора ли во C++ или може и java?

MultiStack

You are given a stack machine which can operate with multiple stacks at the same time. The values it stores
in the stacks are floating point numbers with double precision.
The machine works with one or two stacks with one operation.

The commands it can process are:
- "push stackIndex;value" - pushes a new value in the stack defined with the index
...
 
Член од
28 април 2013
Мислења
8
Поени од реакции
0
на ова задача мислиш? И мора ли во C++ или може и java?

MultiStack

You are given a stack machine which can operate with multiple stacks at the same time. The values it stores
in the stacks are floating point numbers with double precision.
The machine works with one or two stacks with one operation.

The commands it can process are:
- "push stackIndex;value" - pushes a new value in the stack defined with the index
...

Pa do sea samo c++ sme uchele... ili ne mora ovaa nekoja od codefu.mk za 300 boda
 

Kajgana Shop

На врв Bottom