short arry[4]

Odpowiedz Nowy wątek
2011-08-19 19:37
gubbi
0

Czy można w jakiś szybszy sposób zapodać z klawiatury wartości do arry[4] bez konieczności tworzenia pętli for? Może ktoś zna gotową funkcje która to robi?

Pozostało 580 znaków

2011-08-19 19:43
Rev
0

Nie chcesz for, to może while:

int i = 0;
while(i < 4)
    std::cin >> arry[i++];

Pozostało 580 znaków

2011-08-19 19:49
qawe
0

bez petli:
cin >> arr[0] >> arr[1] >> arr[2] >> arr[3];

Pozostało 580 znaków

2011-08-19 20:29
0

Zupełnie nieprzydatne i nie w pełni przenośne:

    short array[4];
    cin>>*(long long *) array;
 

Pozostało 580 znaków

2011-08-19 20:39
hmm
0
#include<iostream>
 
int main(){
    short arry[4], i = 0;
    short *w = arry;
    while(i < 4)
      scanf("%d", &arry[i++]);
      printf("%d", ((*w++)*(*w++))+((*w++)*(*w)));
 
    system("pause");
}

Dlaczego na wskaźnikach wychodzi mi zły wynik?

Pozostało 580 znaków

2011-08-19 20:55
0

nie wolno w obrębie jednego wyrażenia używać jednocześnie w i w++, ani używać w++ kilkakrotnie. to samo się tyczy ++w.
problem wynika z tego, że nie wiadomo, w jakiej kolejności poszczególne wyrażenia mają być wykonane (standard tego nie definiuje)

a.cpp: In function 'int main()':
a.cpp:7:29: warning: format '%d' expects type 'int*', but argument 2 has type 'short int*'
a.cpp:8:50: warning: operation on 'w' may be undefined
a.cpp:8:50: warning: operation on 'w' may be undefined
a.cpp:8:50: warning: operation on 'w' may be undefined
edytowany 2x, ostatnio: Azarien, 2011-08-19 20:58

Pozostało 580 znaków

2011-08-19 21:04
0

zapisz to tak:

printf("%d", ((*w)*(*(w+1)))+((*(w+2)))*(*(w+3))));

"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Pozostało 580 znaków

2011-08-19 21:16
gubbi
0

Dzięki serdeczne pomogło :) Mam jeszcze jedno pytanie, czy da się zrobić, żeby można było wprowadzać zmienną do wskaźnika, tak żeby tylko zadeklarować tablice operując tylko na wskaźnikach?

okey już mam

scanf("%d", &(*(w+(i++))));

Jeszcze raz dzięki że jesteście, zajefajni z Was ludzie! :)

Pozostało 580 znaków

2011-08-19 21:40
Kumashiro
0
gubbi napisał(a)
scanf("%d", &(*(w+(i++))));

A nie wystarczy Ci samo w+(i++)? Tak, to też jest wskaźnik!

Pozostało 580 znaków

2011-08-19 22:04
gubbi
0

Faktycznie :D Dzięki serdeczne!

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0