Witam.Mam do napisania program obliczający wartości cyfr jedności i liczb znaczących te pierwsze mi działają lecz z znaczącymi mam problem i stoję w miejscu. Myślę ze problem jest tablicy w związku z tym ze jej statyczna a chyba powinna być dynamiczna. Proszę o podpowiedz wszystkim z góry dziękuje za poświęcony. czas.
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <cmath>
using namespace std;
int cyfry_znaczace(int n,int tab[])
{
int min;
min=0;
for(int i=0; i<n; i++)
{
while(tab[i]>0)
{
min=tab[i]%10;
tab[i]=tab[i]/10;
//cout<<"tab "<<tab[i]<<" min "<<min<<endl;
if(min<tab[i])
tab[i]=min;
}
}
return min;
}
int cyfry_jednosci(int n,int tab[])
{
int max;
max=0;
for(int i=0; i<n; i++)
{
tab[i]=tab[i]%10;
if(tab[i]>max)
max=tab[i];
}
return max;
}
int main()
{
char wybor;
int n;
/*int *tab;
tab = new int [n];*/
int N=10000;
int tab[N];
cout<<"Generuj ciag z klawiatury wybierz 1."<<endl;
cout<<"Generuj ciag losowo wybierz 2."<<endl;
wybor=getch();
switch(wybor)
{
case '1':
{
cout<<"Podaj ilosc elementow ciagu: ";
cin>>n;
for(int i=0; i<n; i++)
{
cout<<"Podaj "<<i+1<<" element ciagu : ";
cin>>tab[i];
}
cout<<"Najwieksza cyfra jednosci to : "<<cyfry_jednosci(n,tab)<<endl;
cout<<"Najmiesza wartosc najbardziej znaczacej cyfry : "<<cyfry_znaczace(n,tab)<<endl;
}
break;
case '2':
{
int p,q;
cout<<"Podaj liczbe elementow ciagu ktory ma zostac wygenerowany losowo oraz jego zakres: "<<endl;
cin>>n>>p>>q;
srand(time(NULL));
for(int i=0; i<n; i++)
{
tab[i]= p+(q-p)*int (rand())/RAND_MAX;
}
cout<<"Najwieksza cyfra jednosci to : "<<cyfry_jednosci(n,tab)<<endl;
cout<<"Najmiesza wartosc najbardziej znaczacej cyfry : "<<cyfry_znaczace(n,tab)<<endl;
}
break;
}
return 0;
}