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

Pour parler de tout ce que vous voulez qui n'est pas Pokémon (Manga, écologie, j'en passe et j'en oublie)
Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

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

Message par Maski » lun. 07 mars 2016, 17:04

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.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Hayatte MADIkOx
Membre
Messages : 3636
Enregistré le : sam. 19 oct. 2013, 18:32

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

Message par Hayatte MADIkOx » lun. 07 mars 2016, 19:08

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.
Image

Avatar du membre
Citron
Membre
Messages : 4525
Enregistré le : lun. 11 mai 2009, 19:35
Localisation : HUN HUN HUN

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

Message par Citron » lun. 07 mars 2016, 19:29

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à
Image

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

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

Message par Maski » lun. 07 mars 2016, 19:57

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.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Yuu
Membre
Messages : 4915
Enregistré le : dim. 31 mai 2009, 20:16

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

Message par Yuu » lun. 07 mars 2016, 20:40

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.
Merci à Reap pour ce super avatar.

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

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

Message par Maski » lun. 07 mars 2016, 20:47

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.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Yuu
Membre
Messages : 4915
Enregistré le : dim. 31 mai 2009, 20:16

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

Message par Yuu » lun. 07 mars 2016, 20:55

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.
Merci à Reap pour ce super avatar.

Avatar du membre
Maski
Chef des Modérateurs Forum
Messages : 4569
Enregistré le : sam. 30 janv. 2010, 14:51
Localisation : Quelque part

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

Message par Maski » lun. 07 mars 2016, 21:03

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 ?)
Modifié en dernier par Maski le lun. 07 mars 2016, 21:08, modifié 1 fois.
Image
BlogGalerieMa nouvelle 'fic

Avatar du membre
Yuu
Membre
Messages : 4915
Enregistré le : dim. 31 mai 2009, 20:16

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

Message par Yuu » lun. 07 mars 2016, 21:07

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.
Merci à Reap pour ce super avatar.

Avatar du membre
Coorjet
Membre
Messages : 7468
Enregistré le : mar. 28 juil. 2009, 22:24
Localisation : Rollin'

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

Message par Coorjet » lun. 07 mars 2016, 22:14

lel
Image

Avatar du membre
Skyxyd
Membre
Messages : 584
Enregistré le : mer. 11 janv. 2012, 17:48
Localisation : Je préfère ne pas le dire... *sort loin et saute d'une falaise* ***de je suis encore vivant

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

Message par Skyxyd » ven. 11 mars 2016, 19:37

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)

Avatar du membre
Hayatte MADIkOx
Membre
Messages : 3636
Enregistré le : sam. 19 oct. 2013, 18:32

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

Message par Hayatte MADIkOx » ven. 11 mars 2016, 22:03

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..
Image

Avatar du membre
Skyxyd
Membre
Messages : 584
Enregistré le : mer. 11 janv. 2012, 17:48
Localisation : Je préfère ne pas le dire... *sort loin et saute d'une falaise* ***de je suis encore vivant

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

Message par Skyxyd » sam. 12 mars 2016, 14:31

C'est bon pas la peine de t'enerver je demande juste. J'y connais rien la dedans moi

Avatar du membre
Hayatte MADIkOx
Membre
Messages : 3636
Enregistré le : sam. 19 oct. 2013, 18:32

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

Message par Hayatte MADIkOx » sam. 12 mars 2016, 15:05

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.
Image

Avatar du membre
Aligaoopas
Membre
Messages : 3977
Enregistré le : dim. 19 avr. 2009, 19:59
Localisation : Dans une contrée non n'existent.

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

Message par Aligaoopas » sam. 12 mars 2016, 15:09

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.
Image

Avatar du membre
Skyxyd
Membre
Messages : 584
Enregistré le : mer. 11 janv. 2012, 17:48
Localisation : Je préfère ne pas le dire... *sort loin et saute d'une falaise* ***de je suis encore vivant

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

Message par Skyxyd » sam. 12 mars 2016, 17:59

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

Avatar du membre
Sazan
Membre
Messages : 6211
Enregistré le : jeu. 30 août 2007, 19:14
Localisation : Neuilly-sous-Clermont

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

Message par Sazan » lun. 28 mars 2016, 16:56

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 ?
#TeamFlamiaou
Code Ami 3DS Sazan : 4613 - 6387 - 4789
Code Ami Pokémon GO SazanPitoula : 0703 9763 9863
Pour les curieuses et curieux, mon DA

Avatar du membre
Citron
Membre
Messages : 4525
Enregistré le : lun. 11 mai 2009, 19:35
Localisation : HUN HUN HUN

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

Message par Citron » lun. 28 mars 2016, 20:41

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 ^_^'
Image

Avatar du membre
Sazan
Membre
Messages : 6211
Enregistré le : jeu. 30 août 2007, 19:14
Localisation : Neuilly-sous-Clermont

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

Message par Sazan » lun. 28 mars 2016, 23:53

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...
#TeamFlamiaou
Code Ami 3DS Sazan : 4613 - 6387 - 4789
Code Ami Pokémon GO SazanPitoula : 0703 9763 9863
Pour les curieuses et curieux, mon DA

Avatar du membre
Voltali Fessenheim
Légende Pokébipienne
Messages : 11406
Enregistré le : mer. 26 août 2009, 14:17

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

Message par Voltali Fessenheim » lun. 28 mars 2016, 23:57

Tu aurais du acheter une NES, ca plante pas au moins ^^

Répondre