Przepisanie kodu na bibliotekę iostream


(Ntt 123) #1

Cześć,

czy mogę Was prosić, drodzy użytkownicy o pomoc w przepisaniu poniższego kod z wykorzystaniem biblioteki .

A może macie własne innowacyjne rozwiązania, które pomogą lepiej zoptymalizować kod?

 

Chodzi o przesówanie elementów tablicy w prawo o jedną pozycję.

#include<stdio.h>
#include<conio.h>

void cykl_prawo(int *t,int r,int p) {
	int buf;
	for (int k=0;k<p;k++) {
		buf=*(t+r-1);
		for(int j=r-1;j>0;j--)
		*(t+j)=*(t+j-1);
		*t=buf;
}
}

void poktab(int t[],int r) {
	printf("\n\nOto liczby w tablicy:\n\n");
	for (int j=0; j<r; j++)
	printf("%4d",*(t+j));
}

int main() {
	const int R=8;
	int tab[R]={1,2,3,4,5,6,7,8};
	int p;
	printf("O ile pozycji? ");
	scanf("%d",&p);
	poktab(tab,R);
	cykl_prawo(tab,R,p);
	poktab(tab,R);
	getch();
	
	return 0;
}

(Frankfurterium) #2

 

Np. nie używaj w kodzie języka innego niż angielski.


(kostek135) #3

Jeśli nie jest wymagane fizyczne przesunięcie wartości w pamięci, a poprawny wynik, to wystarczy wypisać ostatni element, a potem elementy o indeksach z przedziału [0, size-2]. Będzie to szybsze, bo nie będziesz “żonglować” danymi.