Thursday, July 29, 2010

// dfgdfdfg.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
// within iostream
// istream cin;
// ostream cout;
using namespace std;

bool aComposite[1024] = { true, true };
bool isPrime(int n)
{
    return ! aComposite[n];
}

void setupLookupTable()
{
    for (int i = 2; i < 1024; i++)
    {
        // is this number i am visiting
        // already marked off as composite
        if (aComposite[i] == false)
            for (int j=i+i; j < 1024; j+=i)
                aComposite[j] = true;
    }

}

void print(const int a[], int capacity)
{
    for (int i = 0; i < capacity; i++)
        cout << a[i] << ' ';
    cout << endl;
}

void add(const int a[], const int b[], int c[], int capacity)
{
    for (int i = 0; i < capacity; i++)
        c[i] = a[i] + b[i];
}

void add(const int a[][3], const int b[][3], int c[][3], int rows, int cols)
{
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            c[i][j] = a[i][j] + b[i][j];
}

void print(const int C[][3], int rows, int cols)
{
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
            cout << "[" << setw(3) << C[i][j] << "]";
        cout << endl;
    }
}

int dotProduct(const int A[3][3], const int B[3][3], const int row, const int col)
{
    int total = 0;
    for (int i = 0; i < 3; i++)
        total += A[row][i] * B[i][col];
    return total;
}

void mmult(const int A[3][3], const int B[3][3], int C[3][3], const int rows, const int cols)
{
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            C[i][j] = dotProduct(A, B, i, j);           
}

int minimumValue(const int a[], const int capacity)
{
    int minValue = a[0];
    for (int i = 1; i < capacity; i++)
        if (a[i] < minValue)   
            minValue = a[i];
    return minValue;
}

int minimumPosition(const int a[], const int startPos, const int capacity)
{
    int minPos = startPos;       
    for (int i = startPos + 1; i < capacity; i++)       
        if (a[i] < a[minPos])   
            minPos = i;
    return minPos;       
}

void subtract(const int a[], const int b[], int c[], int capacity)
{
    for (int i = 0; i < capacity; i++)
        c[i] = a[i] - b[i];
}

void mult(const int a[], int scalar, int b[], int capacity)
{
    for (int i = 0; i < capacity; i++)
        b[i] = a[i] * scalar;
}
int foo(int *a)
{

}
int main() {
    int v[10];
    foo(v);
    foo(&v[0]);
    cout << v << endl;
    cout << &v[0] << endl;

    v[i]
    *(v+i)

    //setupLookupTable();
    //for(int k = 0; k < 1024; k++)
    //    if (isPrime(k))
    //        cout << k << endl;
    //string s, t;
    //int u;

    //ifstream jin;
    //jin.open("myfirstinput.txt");
    //jin >> s;
    //jin >> t;
    //cout << s << t << endl;
    //jin.close();

    //ofstream jout;
    //jout.open("c:/josh/myfirstoutput.txt");
    //for(int i = 0; i < 10; i++)
    //    jout << i << " ";
    //jout << endl;
    //jout.close();
    //system("PAUSE");

   int A[3][3] =
   {
       { 4, 6, 0},
       { 6, 0, 1},
       { -1,3, 5}
   };
   int B[3][3] =
   {
       { 0, 6, 0},
       { 1, 0, 1},
       { 1, 0, 5}
   };      
   int C[3][3];
   cout << "DP: " << dotProduct(A, B, 0, 1) << endl;
    add(A, B, C, 3, 3);
    print(C, 3, 3);

cout << endl;
cout << endl;
cout << endl;

   int x[5] = {3,4,5,2,3};
   int y[5] = {1,1,0,2,3};
   int z[5];
   int a[5];
  
    // a = x * 6
   add(x, y, z, 5);

   print(z, 5);

   mult(y, 6, z, 5);
   print(z, 5);
  
   return 0;
}

No comments:

Post a Comment