x-kom hosting

Wyswietlenie tablicy w C

Dartron
utworzono
utworzono (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
komentarz (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.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.