Page 86 sur 90

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 17:04
par Maski
J'aurai besoin des lumières de quelqu'un pour comprendre un petit exercice en AlgoProg : (en c99)
"Ecrire une fonction void tableauFrequence(int t [], int n, int freq[]) qui prend comme paramètre un tableau t contenant un maximum nombres naturels inférieurs à 10 et calcule dans le tableau freq la fréquence de chaque élément de t. C'est-à-dire que l'élément d'indice i du tableau freq doit correspondre à la fréquence de l'entier i dans t

Ex : t=[9, 7, 4, 0, 4, 3, 7, 4, 2, 2, 4, 9, 4, 0, 2, 8]
Après appel de la fonction :
freq=[2, 0, 3, 1, 5, 0, 0, 2, 1, 2]


Et la correction :

Code : Tout sélectionner

void
tableauFrequence(int t[], int n, int freq[])
{
  for(int i=0; i<10; i++)
    freq[i]=0;
  for(int i=0; i<n; i++)
    freq[t[i]] += 1;
}
(Pour ce qui est des include, de la fonction main, du " maximum nombres naturels inférieurs à 10 " tout est déjà dans le reste du fichier.)

Alors autant je comprends que dans un premier temps on veuille que des 0 dans freq, autant je ne comprends pas pourquoi dans le deuxième for on met " i <n ", ni ce que fait le contenu de cette boucle.

Edit : d'ailleurs, est-ce que quelqu'un sait comment faire fonctionner le " && " et le " || " sous emacs ? Ceux-ci n'apparaissent pas en couleur dans mon fichier et sont signalés comme des erreurs au moment de la compilation.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 19:08
par Hayatte MADIkOx
Les seuls truc ou je peut t'aider, et encore si je ne dit pas de bétise, c'est qu'en rgéle générale le && et la pour parler d'une condition ET.
Donc si tu la trouve dans un programme/algorythme cela veut dire qu'elle doit prendre en compte que les 2 valeurs présente dans le ET et pas l'une ou l'autre.

pour le || , si encore une fois je dit pas de bétises il prend en compte la valeur OU. Donc dans un programme soit une valeur, soit l'autre valeur soit les deux.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 19:29
par Citron
Ca ressemble à du C classique, jvais voir c'que jpeux faire

Code : Tout sélectionner

  for(int i=0; i<10; i++)
    freq[i]=0;
Ici, tu initialise le tableau freq[] à 0 pour ses 10 premières valeurs (0 à 9)
autant je ne comprends pas pourquoi dans le deuxième for on met " i <n "
Meh, faudrait voir le main. Je suppose que t'envois un entier de ton choix, et par déduction est le nombre d'éléments dans t[]...Ca évite d'aller plus loin que le tableau.
Cette boucle, sauf erreur, incrémente de 1 la valeur de freq[] désignée par t

Après, je comprends pas vraiment l'énoncé, je vais pas être méga utile ^_^'

Edit : d'ailleurs, est-ce que quelqu'un sait comment faire fonctionner le " && " et le " || " sous emacs ? Ceux-ci n'apparaissent pas en couleur dans mon fichier et sont signalés comme des erreurs au moment de la compilation.

Dans un if en C, ça donne

Code : Tout sélectionner

if((condition)||(condition)) //pour un OU
if((condition)&&(condition)) //pour un ET
Après, je sais pas si c'est pareil en c99, et encore moins si tu cherche dans ce cas là

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 19:57
par Maski
Madi > Oui c'est ça. Le problème c'est que quand je veux compiler, ça m'affiche une erreur venant de ces opérateurs. Je pensais qu'il fallait utiliser un include particulier mais dans une correction j'ai vu que ce n'était pas le cas. C'est peut-être à la compilation ou dans le main qu'il faut ajouter quelque chose ...

Tronci > Oui c'est du C classique en gros. Mais pourquoi incrémenter de 1 la valeur de freq ?

T'inquiète, personne de ceux à qui j'ai demandé n'ont compris l'exercice. D'après moi, il s'agit de compter combien de fois chaque nombre est présent dans le tableau t. Par exemple, comme il y a deux 9 dans t et que le premier est au rang 0, freq[0] affichera 2 et ne prendra pas en compte le deuxième 9.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 20:40
par Yuu
Ta boucle compte le nombre d’occurrence des n nombres du tableau t qui sont censé être entre 0 et 10.
freq correspond au nombre d'occurence de i dans le tableau t.
t[î] correspond au ième (+1) entier du tableau.
freq[t]+1 correspond à ajouter une occurrence de t.
i va de 0 à n car on parcourt le tableau t qui possède n éléments.

Fais voir la ligne que le compilateur n'accepte pas. || et && sont des opérateurs au même sens que +. Il n'y a pas d'include pour les définir.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 20:47
par Maski
Je vois mais comment tu vois qu'elle compte le nombre d'occurrence pour une certaine valeur de t ? Moi tout ce que je comprends c'est que pour tout i<n elle ajoute une occurrence à freq[t] et ce même si les t ont des valeurs différentes.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 20:55
par Yuu
Fais attention t change au cours de la boucle. freq[t] n'ajoute pas forcément à la même case.

Déroulons l'algo sur un exemple.
Prenons t = [ 3,1,7,1,2] (flemme d'en faire un gros). Ici n=5
AU début i=0
t=t[0]=3. freq[t]+=1 ça correspond exactement à freq[3]+=1.
On a freq = [0,0,0,1,0,0,0,0,0,0]
i=1
t=t[1]=1. freq[t] correspond à freq[1].
On a freq = [0,1,0,1,0,0,0,0,0,0]
i=2
t=t[2]=7. freq[t] correspond à freq[7].
On a freq = [0,1,0,1,0,0,0,1,0,0]
i=3
t=t[3]=1. freq[t] correspond à freq[1].
On a freq = [0,2,0,1,0,0,0,1,0,0]
i=4
t[i]=t[4]=2. freq[t[i]] correspond à freq[2].
On a freq = [0,2,0,1,0,0,0,1,0,0]
i=5
C'est fini puisque i=n et non i<n.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 21:03
par Maski
Aaaaaah c'était juste ça ! Je croyais qu'il fallait compter le nombre de fois que le chiffre t apparaissait dans le tableau ! XD
Merci beaucoup Yuu ! (au fait, ça ne devrait pas être [0,2,1,0,0,0,0,1,0,0] pour le dernier ?)

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 21:07
par Yuu
J'ai fait un vieux copier coller. La bonne réponse c'est [0,2,1,1,0,0,0,1,0,0] (tu as 5 éléments, si la somme de ce tableau fait pas 5, y'a un soucis).
Et c'est Yuu btw.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 07 mars 2016, 22:14
par Coorjet
lel

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : ven. 11 mars 2016, 19:37
par Skyxyd
Si mon disque C à des problèmes après un formatage, c'est grave ?
Je redémarre plus sinon il me refait la réparation infini du coup pas le choix il faut de nouveau formater (sa sera la 3ème fois)

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : ven. 11 mars 2016, 22:03
par Hayatte MADIkOx
Mais si quand tu le reformate il replante ya pas de putain de secret tu rachéte un disque dur POINT.

Sa couptent même pas 62/64€ pour un 7200 tr/min en 500giga pour le format portable.Et en format tour 3'5 pour 52€ tu as 1 TO.

c'est pas comme si c'était la piéce la plus chére..

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : sam. 12 mars 2016, 14:31
par Skyxyd
C'est bon pas la peine de t'enerver je demande juste. J'y connais rien la dedans moi

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : sam. 12 mars 2016, 15:05
par Hayatte MADIkOx
Ben sa fait plusieurs fois que tu demande un cout de main là dessus.Plusieurs fois que partie comme c'est partie sur chacune de tes tentative de diagnostic/défragmentage/réparation logicielle etc...que ton disque s'en sort de pire en pire et que l'on te recommande l'achat d'un nouveau disque :/

Je ne voit pas pourquoi s'obstiner pour le reparer avec la solution logicielle quand plus tu as recours a cette solution et plus ton disque plante.Il vaut mieux en acheter un récupérer ce qui est récupérable dans l'ancien et re installer ton os dessus.Sa prendra nettement moins de temps que t'obstiner à le reparer comme tu le fesait jusqu'a ne plus avoir accés à ton disque et ne plus rien récupérer.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : sam. 12 mars 2016, 15:09
par Aligaoopas
Elle t'avait donné la soluce a la page d'avant

je vais juste répondre à ta question, alors oui c'est un problème la meilleur solution la plus simple/rapide à ton problème qui ta déjà été donné, est de racheter un disque dur.

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : sam. 12 mars 2016, 17:59
par Skyxyd
Oui en fait le problème était réglé et sa allait bien jusque-là. Et maintenant sa deconne. J'vais voir pour trouver un disque dur pas cher 1To j' préfère

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 28 mars 2016, 16:56
par Sazan
Bon, je crois que l'ordi portable de ma femme a son DD qui a planté et je sens gros comme une maison qu'il va falloir en acheter un...
Quel format pour un DD interne de portable (parce que sur cdiscount j'en ai vu plusieurs pour ordi portable...)
Déjà, on est d'accord que pour les ordis récents, tout se fait en SATA ?
Ensuite, le portable en question n'ayant pas de lecteur DVD, sauf si sous le BIOS lors de la réinstallation on reconnait un lecteur DVD USB, comment mettre une copie du Win 8.1 sur le DD neuf ensuite et rebooter correctement ?

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 28 mars 2016, 20:41
par Citron
Uh, récupère la référence de ton DD et regarde les caractéristiques pour être bien sûr de ton coup
Pis pour Windows, tu peux tenter de faire une clé usb bootable, bien que ce soit pas la méthode la plus légale en soit...mais ça reste la plus efficace à mon avis ^_^'

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 28 mars 2016, 23:53
par Sazan
Tentative via win10...
Impossible de rebooter via win8 (partition manquante...)
On ne sait jamais si jamais j'arrive à faire en sorte que le DD soit partitionné correctement en faisant l'upgrade...

Re: [Topic unique] L'informatique (programmation, hardware ...)

Posté : lun. 28 mars 2016, 23:57
par Voltali Fessenheim
Tu aurais du acheter une NES, ca plante pas au moins ^^