Lista 9
zad 2
#include <stdio.h>
#include <stdlib.h>
int CpyAtoA_NoZeros(int *ptrA, int *ptrB,int rozmiarA) {
int i;
for(i=0;i<rozmiarA;i++){
if(*ptrA!=0){
(*ptrB)=(*ptrA);
*ptrB++;
}
*ptrA++;
}
return 0;
}
int main(int argc, char *argv[])
{
int A[]={1,0,3,0,5};
int B[5]={0},i;
CpyAtoA_NoZeros(A,B,5);
for(i=0;i<5;i++)
printf("\t%d \n",B[i]);
system("PAUSE");
return 0;
}
zad3/4
#include <stdio.h>
#include <stdlib.h>
int FindMax(int *ptrA, int *max,int *indeks) {
int i;
*max=0;
for(i=0;i<10;i++){
if(*ptrA>*max) { //dla wartosci najmniejszej *ptrA<*min
*max=*ptrA;
*indeks=i;
}
*ptrA++;
}
return 0;
}
int main(int argc, char *argv[])
{
int A[]={1,0,3,0,5,2,3,4,12,1};
int indeks,max;
FindMax(A,&max,&indeks);
printf("\t%d\t%d",max,indeks);
system("PAUSE");
return 0;
}
zad 6
#include <stdio.h>
#include <stdlib.h>
int cpyAtoB(int *A,int *B,int n,int m)
{
int i;
*A=*A+n;
for(i=0;i<=m-n;i++){
*B=*A;
*B++;*A+=1;
}
}
int main(int argc, char *argv[])
{
int A[40]={1,2,3,4,5,6,7,8,9},B[]={0,0,0,0,0},i;
cpyAtoB(A,B,2,6);
for(i=0;i<5;i++) //5=(m-n)+1
printf("\t%d\n",B[i]);
system("PAUSE");
return 0;
}
zad 7
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void swap(int *A,int*B) {
int temp;
temp=*B;
*B=*A;
*A=temp;
}
int main()
{
int A[]={1,2,3,4,5};
int B[]={6,7,8,9};
swap(&A[2],&B[2]);
printf("\t%d\t%d",A[2],B[2]);
getch();
return 0;
}
zad 10
#include <stdio.h>
#include <stdlib.h>
void suma(int *A,int *sumap,int *sumanp)
{
int i;
for(i=0;i<10;i++)
{
if(*A%2==0)
*sumap+=*A;
if(*A%2!=0)
*sumanp+=*A;
*A++;
}
}
int main(int argc, char *argv[])
{
int A[10]={3,2,13,40,15,28,29,231,1201,201},sumap,sumanp,i;
sumanp=0;
sumap=0;
printf("Zawartosc tablicy: \t\n\n");
for(i=0;i<10;i++)
printf(" %d ",A[i]);
suma(A,&sumap,&sumanp);
printf("\n\n\n\tsuma parzystych: %d\n\tsuma nieparzystych:
%d\n\n",sumap,sumanp);
system("PAUSE");
return 0;
}