Sponsored Content
Top Forums Programming problem in multiplying arrays Post 302579413 by giampoul on Monday 5th of December 2011 04:26:55 PM
Old 12-05-2011
Code:
#define OFFSET(COLUMNS, ROW, COL)       ((ROW*COLUMNS)+COL)

#include<stdio.h>
#include<sys/shm.h>
#include<sys/stat.h>
#include<stdlib.h>
main()
{
  int *A,*B,*C;
  int i,j,x,d,k;
  int id;
  id = shmget(IPC_PRIVATE,4096, IPC_CREAT|0666);
  A = (int *)shmat(id,NULL, 0);
  B = A + OFFSET(3, 2, 0);
  C = B + OFFSET(3, 4, 0);

  x=1;
  for(i=0; i<2; i++)
  {
    for(j=0; j<3; j++)
    {
      A[OFFSET(3, i, j)]=x++;
    }
  }
		
  x=12;
  for(i=0; i<3; i++)
  {
    for(j=0; j<4; j++)
    {
      B[OFFSET(4, i, j)]=x--;
    }
  }

   for(i=0; i<2; i++)
   {
     for(j=0; j<4; j++)
     {
                int d=0, k;
                for(k=0; k<3; k++)
                d += A[OFFSET(3,i,k)] * B[OFFSET(4,k,j)];
                C[OFFSET(4, j, i)]=d;
     }
   }
        
   printf("C:\n");
   for(i=0;i<2;i++)
   {
     for(j=0;j<4;j++)
     {
       printf("%d\t",C[j*4+i]);       
     }
     printf("\n");
   }
}

Yes! That do the job !
If you have the time can you explain me a little these lines:
Code:
B = A + OFFSET(3, 2, 0);
C = B + OFFSET(3, 4, 0)

and what does the OFFSET do ?
Also why its wrong with the 3 shmat() functions? In another program i made where A and B were read by a .txt file the arrays are correct.
I am at beginner level and i am trying a project... Of course this is not all of it. I just split it to pieces so i can do it easier.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Error only when multiplying two numbers

Hi $ a=10 ; b=2 $ expr $a + $b 12 $ expr $a - $b 8 $ expr $a / $b 5 $ expr $a * $b expr: syntax error Any idean why I am getting this error only when multiplying two numbers. Whats the exact syntax? Thanks a lot to all in advance CSaha (5 Replies)
Discussion started by: csaha
5 Replies

2. Shell Programming and Scripting

Multiplying Floats/Decimals

Is there a way that i can get something like this to work: Number=`expr 80 \* 10.69` i.e. To multiply an integer by a decimal or a decimal by a decimal etc...? thanks (10 Replies)
Discussion started by: rleebife
10 Replies

3. Shell Programming and Scripting

Problem with arrays in awk

Hello! I'm trying to make a script that will make a list of the files in a source tree and sort them by size. Problem is I've run into a weird problem. print array will give me numbers like 160, 220, 444 that i don't even know where they come from, and print array will give me the correct numbers... (5 Replies)
Discussion started by: Glauco
5 Replies

4. Programming

C programming + problem with char arrays

Im trying to write some code atm which gets the complete pathname of a folder and strips off references to the parent folders. The end result should be just the name of the folder. Currently Im able to extract the folder name, however Im getting junk added onto the name as well which is making... (7 Replies)
Discussion started by: JamesGoh
7 Replies

5. UNIX for Dummies Questions & Answers

Problem assigning variables to arrays

Hi All, I have a problem assigning variables to script.I have a script in which i have a while loop now i have to assign some values obtained to an array which will be used later in the script.Can anyone help how to do that. At present my scrot looks like: co=0 pco=0 co=`cat /tmp/highcpu... (4 Replies)
Discussion started by: usha rao
4 Replies

6. Shell Programming and Scripting

Problem with arrays

Hi I have two arrays: arr1 = (demo demo2 demo3 demo4 demo5) arr2 = (demo2 test demo) I want to check that the values the "arr2" are present in "arr1" Example arr1 = (demo demo2 demo3 demo4 demo5) arr2 = (demo2 test demo) Output: Error arr1 = (demo demo2 demo3 demo4 demo5)... (3 Replies)
Discussion started by: blito_loco
3 Replies

7. Programming

question about int arrays and file pointer arrays

if i declare both but don't input any variables what values will the int array and file pointer array have on default, and if i want to reset any of the elements of both arrays to default, should i just set it to 0 or NULL or what? (1 Reply)
Discussion started by: omega666
1 Replies

8. Shell Programming and Scripting

Problem with arrays and loop

Hello , im sorry for my english . im trying to create a dynamic menu that will display if the interface is ACTIVE OR STOPPED/FAILED for some reason i cant get it to work properly start_interface_func() { i=0 for interface_chk in 11 71 73 72 12 47 48 49 50 20 23 24 25 46 21 22 27 28... (5 Replies)
Discussion started by: visiown
5 Replies

9. Shell Programming and Scripting

Multiplying array element

I am trying to take all the elements of an array and multiply them by 2, and then copy them to a new array. Here is what I have i=0 for true in DMGLIST do let DMGSIZES2="${DMGSIZES}"*2 let i++ done unset i echo ${DMGSIZES2} It does the calculation correctly for the first element,... (7 Replies)
Discussion started by: nextyoyoma
7 Replies

10. Programming

Multiplying 2D arrays using fork()

HI, i am trying to multiply 2 2D arrays (a,b) using fork. The answer will be at c. Each child have to calculate 1 row of c. The code is right, as i think of it, with no errors but i dont get the correct c array... I think there is maybe a mistake in i dimension ... Anyway, here is the code: ... (16 Replies)
Discussion started by: giampoul
16 Replies
claqp2.f(3)							      LAPACK							       claqp2.f(3)

NAME
claqp2.f - SYNOPSIS
Functions/Subroutines subroutine claqp2 (M, N, OFFSET, A, LDA, JPVT, TAU, VN1, VN2, WORK) CLAQP2 Function/Subroutine Documentation subroutine claqp2 (integerM, integerN, integerOFFSET, complex, dimension( lda, * )A, integerLDA, integer, dimension( * )JPVT, complex, dimension( * )TAU, real, dimension( * )VN1, real, dimension( * )VN2, complex, dimension( * )WORK) CLAQP2 Purpose: CLAQP2 computes a QR factorization with column pivoting of the block A(OFFSET+1:M,1:N). The block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized. Parameters: M M is INTEGER The number of rows of the matrix A. M >= 0. N N is INTEGER The number of columns of the matrix A. N >= 0. OFFSET OFFSET is INTEGER The number of rows of the matrix A that must be pivoted but no factorized. OFFSET >= 0. A A is COMPLEX array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, the upper triangle of block A(OFFSET+1:M,1:N) is the triangular factor obtained; the elements in block A(OFFSET+1:M,1:N) below the diagonal, together with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors. Block A(1:OFFSET,1:N) has been accordingly pivoted, but no factorized. LDA LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M). JPVT JPVT is INTEGER array, dimension (N) On entry, if JPVT(i) .ne. 0, the i-th column of A is permuted to the front of A*P (a leading column); if JPVT(i) = 0, the i-th column of A is a free column. On exit, if JPVT(i) = k, then the i-th column of A*P was the k-th column of A. TAU TAU is COMPLEX array, dimension (min(M,N)) The scalar factors of the elementary reflectors. VN1 VN1 is REAL array, dimension (N) The vector with the partial column norms. VN2 VN2 is REAL array, dimension (N) The vector with the exact column norms. WORK WORK is COMPLEX array, dimension (N) Author: Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Date: November 2011 Contributors: G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain X. Sun, Computer Science Dept., Duke University, USA Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia. References: LAPACK Working Note 176 Definition at line 149 of file claqp2.f. Author Generated automatically by Doxygen for LAPACK from the source code. Version 3.4.1 Sun May 26 2013 claqp2.f(3)
All times are GMT -4. The time now is 06:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy