Dartron utworzono 25 marca 2009 utworzono 25 marca 2009 (edytowane) Witam oto kodzik: //Program to reverse and display array#include <stdio.h>#include <conio.h>#define SIZE 6int i,array[sIZE];void reverse(int []);void main(){ printf("Please enter %d numbers\n", SIZE); for (i=0; i<SIZE; i++) { scanf("%d",&array[i]); fflush(stdin); } reverse(array); printf("\nNow the array looks like: \n"); for (i=0; i<SIZE; i++) { printf(" %d ", array[i]); } getch();}void reverse(int reversing[]){ int temp,j; for (i=0,j=SIZE-1; i<SIZE && j > 0; i++ && j--) { temp=reversing[i]; reversing[i]=reversing[j]; reversing[j]=temp; }} Teraz pytanie ten kod powinnien wczytac wartosci a pozniej zamienic je nastepujaca: 1 z n, 2 z n-1 itd ale dziala tylko dla pierwszej wartosci spedzilem juz troche czasu szukajac gdzie lezy problem ale nie moge go za nic znales(byc moze za dlugo siedze nad jednym programem) dlatego prosze Was o pomoc Dartron
rafalluz komentarz 25 marca 2009 komentarz 25 marca 2009 (edytowane) Nie ma po co tego robić dwiema zmiennymi. To jest kod odwracający: int n = SIZE >> 1;for(i = 0; i<=n; i++){ temp = reversing[i]; reversing[i] = reversing[size-1-i]; reversing[size-1-i] = temp; } Przejeżdżasz tylko do połowy. Gdy przejeżdżasz po całości, tak naprawdę 2 razy zamieniasz każde dwa elementy, czyli efektywnie są z powrotem na swoich miejscach.
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.